home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-11 / adam.zip / ADAM.DOC < prev    next >
Text File  |  1990-01-02  |  184KB  |  3,432 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19. -----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----
  20. -- ╔══════════════════╗ -+----+----+----+----+----+----+----+----+----+----+----
  21. -- ║                  ║   ----+----+----+----+----+----+----+----+----+----+----
  22. -- ║                  ║   ----+----+----+----+----+----+----+----+----+----+----
  23. -- ║                  ║   ----+----+----+----+----+----+----+----+----+----+----
  24. -- ║    A  D  A  M    ║   ----+---╔══════╗---+----+----+----+----+----+----+----
  25. -- ║                  ║   ----+---║ MOVE ║  -+----+----+----+----+----+----+----
  26. -- ║         ╔═══════════════════╗║ SIZE ║  -+----+----+----+----+----+----+----
  27. -- ║         ║                   ║║ TEXT ║  -+----+----+----+----+----+----+----
  28. -- ║         ║                   ║║ CODE ║  -+----+----+----+----+----+----+----
  29. -- ║         ║                   ║║ WT-2 ║  -+----+----+----+----+----+----+----
  30. -- ╚═════════║    (C)1990 By     ║║ FORE ║  -+----+----+----+----+----+----+----
  31. ----         ║                   ║║ BACK ║  -+----+----+----+----+----+----+----
  32. -----+----+- ║  Custom Software  ║║ HELP ║  -+----+----+----+----+----+----+----
  33. -----+----+- ║                   ║║ PLIB ║  -+----+----+----+----+----+----+----
  34. -----+----+- ║                   ║║ NOTE ║  -+----+----+----+----+----+----+----
  35. -----+----+- ║                   ║║ EDIT ║  -+----+----+----+----+----+----+----
  36. -----+----+- ╚═══════════════════╝║ UTIL ║  -+----+----+----+----+----+----+----
  37. -----+----+---                    ║ QUIT ║  -+----+----+----+----+----+----+----
  38. -----+----+----+----+----+----+---╚══════╝  -+----+----+----+----+----+----+----
  39. -----+----+----+----+----+----+----+        -+----+----+----+----+----+----+----
  40. -----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----
  41. -----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----
  42. -----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----
  43. -----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  ┌──────┐
  68. ╔═════╗ │╔═════════════════════════════════════════════════════════════════════╗
  69. ║  C  ║ │║ ADAM 2.1 CONTENTS                                                   ║
  70. ╚═════╝─┘╚═════════════════════════════════════════════════════════════════════╝
  71.  
  72.  
  73.  
  74.  
  75.  
  76.       * Adam features ................................................   1
  77.  
  78.  
  79.       * Windows ......................................................   2
  80.  
  81.  
  82.       * Window attributes ............................................   3
  83.  
  84.  
  85.       * Utilities ....................................................   4
  86.  
  87.  
  88.       * Browse windows ...............................................   5
  89.  
  90.  
  91.       * Browse continued .............................................   6
  92.  
  93.  
  94.       * Custom input/Object editor ...................................   7
  95.  
  96.  
  97.       * Object verbs .................................................   8
  98.  
  99.  
  100.       * Object library ...............................................   9
  101.  
  102.  
  103.       * Tips & Tricks ................................................  10
  104.  
  105.  
  106.       * Sample program ...............................................  12
  107.  
  108.  
  109.       * Animation ....................................................  42
  110.  
  111.  
  112.       * Importing objects ............................................  44
  113.  
  114.  
  115.       * Font library .................................................  45
  116.  
  117.  
  118.       * How to create objects ........................................  46
  119.  
  120.  
  121.       * Object files .................................................  47
  122.  
  123.  
  124.       * A brief history ..............................................  50
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.                                                                         ┌──────┐
  134. ╔════════════════════════════════════════════════════════════════════╗ ╔═════╗ │
  135. ║                                                       INTRODUCTION ║ ║  1  ║ │
  136. ╚════════════════════════════════════════════════════════════════════╝ ╚═════╝─┘
  137.  
  138.       Welcome to A.D.A.M. (Advanced Data Access Manager) program generator
  139.       for Clipper.  Most of you have  probably  read about the new wave of
  140.       program generator's on the market.  They all stress the  benefits of
  141.       using the latest in template programming.
  142.  
  143.       Adam takes the template theory a step further,  instead  of  writing
  144.       program modules to generate code, with Adam you design SMART OBJECTS
  145.       which Adam links together to form your complete program.
  146.  
  147.       What are SMART OBJECTS?
  148.       _______________________
  149.  
  150.       Smart objects can be a menu, screen, browse window, lookup, picklist
  151.       or even a complete sub-program or procedure.  Smart objects are very
  152.       similar to  procedure  programs  except for a couple of very unusual
  153.       features.
  154.  
  155.       These  smart objects  have the ability to  communicate with  ADAM by
  156.       asking questions,  which  Adam  passes on to you,  and  getting your
  157.       answer which Adam passes back to the object.
  158.  
  159.       This system prevents you from  having to  remember what  a procedure
  160.       requires as  parameters  in order to call it in your  program.  This
  161.       power becomes even more evident if you wrote the procedure about six
  162.       months ago.
  163.  
  164.       Other features included in Adam
  165.       _______________________________
  166.  
  167.       * Generates single or multi-user code.
  168.  
  169.       * Fast screen design tools.
  170.  
  171.       * Easy custom menu design for vertical or Lotus style menus.
  172.  
  173.       * Integrated object file editor.
  174.  
  175.       * Comes with complete set of object files ready to use.
  176.  
  177.       * Custom screen and menu colors.
  178.  
  179.       * Create or modify database files.
  180.  
  181.       * Create index files.
  182.  
  183.       * Define your own menu help screens.
  184.  
  185.       * Attach lookups or a picklist to selected input fields.
  186.  
  187.       * Initialize and calculation calls.
  188.  
  189.       * Free telephone support and updates.
  190.  
  191.       * Generates custom looking programs.
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  ┌──────┐
  200. ╔═════╗ │╔═════════════════════════════════════════════════════════════════════╗
  201. ║  2  ║ │║ WINDOWS                                                             ║
  202. ╚═════╝─┘╚═════════════════════════════════════════════════════════════════════╝
  203.  
  204.       As you work with Adam you will use windows to store your objects in,
  205.       each window contains a different object that you have created.  Adam
  206.       has ten different types of windows, numbered from 0 through 9.
  207.  
  208.       Below are the different types of windows that can be created:
  209.  
  210.       TYPE         WINDOW
  211.       ____         ________________________________________
  212.  
  213.          0         Double line (lotus style)
  214.  
  215.          1         Single line
  216.  
  217.          2         Double line
  218.  
  219.          3         Single side double top
  220.  
  221.          4         Double side single top
  222.  
  223.          5         Solid with black shadow
  224.  
  225.          6         Single line exploding
  226.  
  227.          7         Double line exploding
  228.  
  229.          8         Single side double top exploding
  230.  
  231.          9         Double side single top exploding
  232.  
  233.  
  234.       Window types are selected by pressing "W" while at the main menu or,
  235.       by moving the cursor to "WT-#" and pressing enter.   The window type
  236.       you have selected will be displayed next to the "WT-#" menu option.
  237.  
  238.       Adam windows can contain several  different types of objects such as
  239.       browse, edit, lookup, picklist, text, code, and menu objects.
  240.  
  241.       Most of your time with  Adam will be spent describing the attributes
  242.       that your windows objects contain, things like size, color, location
  243.       contents, type and if your window is quiet or contains sound.
  244.  
  245.       Window objects are just one of Adam's many exciting features.  Later
  246.       on we will show you other features such as SMART OBJECTS.
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.                                                                         ┌──────┐
  266. ╔════════════════════════════════════════════════════════════════════╗ ╔═════╗ │
  267. ║                                                  WINDOW ATTRIBUTES ║ ║  3  ║ │
  268. ╚════════════════════════════════════════════════════════════════════╝ ╚═════╝─┘
  269.  
  270.       MOVE - The move command allows you to position your windows anywhere
  271.              on the screen. Use the arrow keys to move the window around.
  272.  
  273.       SIZE - The size command lets you stretch the window to any shape you
  274.              want. Use the arrow keys to size the window, holding down the
  275.              shift key and pressing the down or right arrow keys will make
  276.              the window stretch out to the end of the screen.
  277.  
  278.       TEXT - The text command allows you to enter messages  for titles and
  279.              menu options for MENU objects. If there is existing text that
  280.              was in the window from previous editing,  Adam  will warn you
  281.              and ask if you want to erase existing text. Pressing the 'F7'
  282.              and 'F8' keys provides a copy and paste for a line of text.
  283.  
  284.              Text can also be centered  automatically while you are in the
  285.              SIZE mode.  Simply press the ESC key and all the lines in the
  286.              window will be centered.
  287.  
  288.       HELP - The help command lets you add help  messages  to each of your
  289.              menu options.
  290.  
  291.       FORE - The fore command lets you change the foreground or text color
  292.              in your window.
  293.  
  294.       BACK - The back command lets you change the background color of your
  295.              window.
  296.  
  297.       CODE - The code command is where you tell Adam you are finished with
  298.              your window and are  ready to save it.   Adam will prompt you
  299.              for the name of your window  object.  You can enter up to ten
  300.              characters for the name.  If this is your first window object
  301.              Adam will ask you to enter a program  file  name to save your
  302.              window objects in.
  303.  
  304.              This allows you to go back later and edit any window  objects
  305.              that belong to this program.  If you fail to enter a name for
  306.              the object then Adam will NOT save the object.
  307.  
  308.       NOTE - The note command turns the window sound on or off.  If  sound
  309.              is on then Adam adds sound to your windows.
  310.  
  311.       EDIT - The edit command lets you select a window  object from a list
  312.              of all the objects  in your  program.   You can then edit the
  313.              object, making any changes and save it again.
  314.  
  315.       UTIL - The util command  presents  you with a menu of Adams database
  316.              and object utilities. These command are listed in more detail
  317.              in the UTILITIES section.
  318.  
  319.       PLIB - The plib command allows you to attach  procedure  programs or
  320.              what we call SMART OBJECTS to your window objects.  These are
  321.              discussed further in the LIBRARY section.
  322.  
  323.              All Adam menu commands can be accessed by pressing the  first
  324.              letter of each command. The ESC key will toggle the main menu
  325.              on or off to allow you to view your screen.
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  ┌──────┐
  332. ╔═════╗ │╔═════════════════════════════════════════════════════════════════════╗
  333. ║  4  ║ │║ UTILITIES                                                           ║
  334. ╚═════╝─┘╚═════════════════════════════════════════════════════════════════════╝
  335.  
  336.       Adam comes with built in utilities to create or modify a database, a
  337.       utility to build index files and other required tools needed to make
  338.       your program designing fast and easy.
  339.  
  340.                   FIELD        TYPE   LEN   DEC
  341.                ╔═════════════╤══════╤═════╤══════╗
  342.                ║  QTY        │ N    │   4 │   0  ║
  343.                ║  STOCKNO    │ C    │  10 │   0  ║
  344.                ║  DES        │ C    │  30 │   0  ║
  345.                ║  VENDOR     │ C    │  20 │   0  ║
  346.                ║  COST       │ N    │   8 │   2  ║
  347.                ║  PRICE      │ N    │   8 │   2  ║
  348.                ║  ORDER      │ N    │   4 │   0  ║
  349.                ║  FLAG       │ C    │   1 │   0  ║
  350.                ║             │      │     │      ║
  351.                ║             │      │     │      ║
  352.                ║             │      │     │      ║
  353.                ╚═════════════════════════════════╝
  354.  
  355.       CREATE - database structure lets you create a new database file. The
  356.                field names are entered first, followed by the type, length
  357.                and decimal. There is limited error checking for this input
  358.                such as fields with the same name, type of fields, entering
  359.                a length that is too large and incorrect decimal positions.
  360.  
  361.       MODIFY - database structure is very  similar to the CREATE  command,
  362.                except that if you change the name of a field,  the  MODIFY
  363.                command will only append  fields of  the  same name to your
  364.                new structure.
  365.  
  366. ╔═Index on════╗
  367. ║ QTY         ║
  368. ║ STOCKNO     ║
  369. ║ DES         ║
  370. ║ VENDOR      ║
  371. ║ COST        ║
  372. ║ PRICE       ║
  373. ║ ORDER       ║
  374. ║ FLAG        ║
  375. ╚═════════════╝
  376. ╔═Enter index file name════════════════════════════════════════════════════════╗
  377. ║ INDEX ON STOCKNO TO STOCK                                                    ║
  378. ╚══════════════════════════════════════════════════════════════════════════════╝
  379.  
  380.       INDEX  - database index file allows you to  select a  database  file
  381.                and key field or multiple fields to create an index file.
  382.  
  383.       SET    - value of F2 key will let you define the  F2 function key as
  384.                a keyboard macro.    You can then use this key to  help you
  385.                design your text windows for title screens.  The F2 key has
  386.                a default of "█" which is CHR(219).
  387.  
  388.                Experiment with different characters such as  CHR(176)  '░'
  389.                to create special effects and add texture to your screens.
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.                                                                         ┌──────┐
  398. ╔════════════════════════════════════════════════════════════════════╗ ╔═════╗ │
  399. ║                                                          UTILITIES ║ ║  5  ║ │
  400. ╚════════════════════════════════════════════════════════════════════╝ ╚═════╝─┘
  401.  
  402.       BROWSE - fields into browse window allows you to build a  dBASE like
  403.                browse screen. This window can have many different types of
  404.                attributes attached to it.
  405.  
  406.                Insert first asks you for the database file you want to use
  407.                and the indexes. If this will be a browse window you should
  408.                select all the indexes,  so that they are updated while the
  409.                records are being edited.
  410.  
  411.                Then you select the fields you want Adam to place into your
  412.                window. Each time you select a field, Adam asks if you want
  413.                this field to call another object.
  414.  
  415. ╔Procedure to call before read═════════════════════════════════════════════════╗
  416. ║                                                                              ║
  417. ╚══════════════════════════════════════════════════════════════════════════════╝
  418.  
  419.                If you attach a call to another  object at  the field level
  420.                then the call takes place when the  user  tries to edit the
  421.                field with the call attached.    If  you do  not  want this
  422.                field to call another object then just press enter.
  423.  
  424. ╔Enter Title For Window Object═════════════════════════════════════════════════╗
  425. ║Inventory Listing                                                             ║
  426. ╚══════════════════════════════════════════════════════════════════════════════╝
  427.  
  428.                After you have  selected all the  fields you  want in  your
  429.                window,  press ESC.  Adam will ask you for the window type.
  430.  
  431. ╔Enter window object type {BLP}════════════════════════════════════════════════╗
  432. ║B                                                                             ║
  433. ╚══════════════════════════════════════════════════════════════════════════════╝
  434.  
  435.                There are three type of browse windows that you can  select
  436.                from.  Below is a list of the window types and their window
  437.                features.
  438.  
  439.                B - BROWSE The browse window allows editing.
  440.                L - LOOKUP The lookup window has no editing features.
  441.                P - PICKLIST The picklist window has no  editing  features,
  442.                    but does a replace of all  fields  used in the picklist
  443.                    into the calling window object.
  444.  
  445. ╔Enter Filter Condition════════════════════════════════════════════════════════╗
  446. ║                                                                              ║
  447. ╚══════════════════════════════════════════════════════════════════════════════╝
  448.  
  449.                After you have selected the window type,   you are asked if
  450.                you want to place any filter conditions on this window.
  451.  
  452. ╔Enter Initialize Procedure Name═══════════════════════════════════════════════╗
  453. ║                                                                              ║
  454. ╚══════════════════════════════════════════════════════════════════════════════╝
  455.  
  456.                Next you can enter an initialization procedure to call just
  457.                before this object is called.
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  ┌──────┐
  464. ╔═════╗ │╔═════════════════════════════════════════════════════════════════════╗
  465. ║  6  ║ │║ UTILITIES                                                           ║
  466. ╚═════╝─┘╚═════════════════════════════════════════════════════════════════════╝
  467.  
  468. ╔Enter Calculation Procedure Name══════════════════════════════════════════════╗
  469. ║                                                                              ║
  470. ╚══════════════════════════════════════════════════════════════════════════════╝
  471.  
  472.                You can also call a calculation object to  call  after this
  473.                object has done the READ.  Initialization  and  calculation
  474.                objects are created in a text window by entering the object
  475.                names in lower case.  This will tell Adam that you want the
  476.                text window generated as a CODE object.
  477.  
  478. ╔Will this object call another {BLPN}?═════════════════════════════════════════╗
  479. ║L                                                                             ║
  480. ╚══════════════════════════════════════════════════════════════════════════════╝
  481.  
  482.                The last question you have to answer about  your  object is
  483.                will this object call another object.  Objects can call any
  484.                other object that you wish, they do not have to be a browse
  485.                type object.
  486.  
  487.                If you will not be calling another object enter a letter "N"
  488.                for NONE.  If you answer B,L or P you will be asked to enter
  489.                the name of the new object to call.
  490.  
  491. ╔Enter object name to call═════════════════════════════════════════════════════╗
  492. ║LOOK                                                                          ║
  493. ╚══════════════════════════════════════════════════════════════════════════════╝
  494.  
  495.                After you have answered all the prompts for your object, you
  496.                can press the ESC key to exit from the utility menu. You can
  497.                now see your browse object on the screen.
  498.  
  499.                At this time you can move the object or change the colors of
  500.                your object before saving it.
  501.  
  502.                Holding down the shift key and pressing the letters  "F"  or
  503.                "B" will allow you to change the  TITLE  colors for your new
  504.                object.
  505.  
  506. ╔═Inventory Listing════════════════════════════════════════════════════════════╗
  507. ║    DES                              QTY    STOCKNO      VENDOR               ║
  508. ║══╤════════════════════════════════╤══════╤════════════╤══════════════════════║
  509. ║█ │ ██████████████████████████████ │ ████ │ ██████████ │ ████████████████████ ║
  510. ║█ │ ██████████████████████████████ │ ████ │ ██████████ │ ████████████████████ ║
  511. ║█ │ ██████████████████████████████ │ ████ │ ██████████ │ ████████████████████ ║
  512. ║█ │ ██████████████████████████████ │ ████ │ ██████████ │ ████████████████████ ║
  513. ║█ │ ██████████████████████████████ │ ████ │ ██████████ │ ████████████████████ ║
  514. ╚══════════════════════════════════════════════════════════════════════════════╝
  515.  
  516.       Now select the CODE option from the main menu to save your  objects.
  517.       Remember to add comment lines to your object, this is a very helpful
  518.       feature if you need to go back and change the window objects.
  519.  
  520. ╔═Object═════Description═══════════════════════════════════════════════════════╗
  521. ║ EDIT       edit inventory window                                             ║
  522. ╚══════════════════════════════════════════════════════════════════════════════╝
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.                                                                         ┌──────┐
  530. ╔════════════════════════════════════════════════════════════════════╗ ╔═════╗ │
  531. ║                                                          UTILITIES ║ ║  7  ║ │
  532. ╚════════════════════════════════════════════════════════════════════╝ ╚═════╝─┘
  533.  
  534.       EDIT   - window works the same as  inserting  fields into the browse
  535.                window, with just a few differences.
  536.  
  537.                The EDIT command lets you place the fields  into  your  own
  538.                edit screen design.  You can also add text messages to this
  539.                window.
  540.  
  541.                This command also lets you insert  custom picture templates
  542.                and a valid clause to each input field.
  543.  
  544.                You also have the option of attaching the built-in EDITMENU
  545.                automatically to your custom edit windows.
  546.  
  547.       ADAM   - object editor provides a built in  program  editor  to edit
  548.                your object files or to create new object files.
  549.  
  550. ╔══════════════════════════════════════════════════════════════════════════════╗
  551. ║ ADAM OBJECT EDITOR                                    Line: 1     Col: 0     ║
  552. ╚══════════════════════════════════════════════════════════════════════════════╝
  553. PROCEDURE report
  554. PARAMETER dbf,ntx,ezform,header,expr
  555. NOTE DBF Report DBF
  556. NOTE ONE Select one
  557. NOTE FRM Format File
  558. NOTE ASK Enter Report Heading
  559. NOTE ASK Enter Filter Condition For Report
  560.    SELECT 0
  561.    IF multuser
  562.       LANOPEN(dbf,"",.F.)
  563.       IF lanresult
  564.          RETURN
  565.       ENDIF
  566.    ELSE
  567.       USE &dbf
  568.    ENDIF
  569.    SET INDEX TO &ntx
  570.    SAVE SCREEN TO rep_scr
  571.    DO window WITH 22,0,24,79,SETCOLOR(),7,1
  572.  
  573.                The example object shown above is a sample of SMART OBJECTS
  574.                that can ask questions and receive answers from Adam.   The
  575.                way we turn our normal procedure objects into SMART OBJECTS
  576.                is by adding a NOTE command in our object file.
  577.  
  578.                The NOTE command is used by Clipper as a comment line. Adam
  579.                uses this as a means of communicating with your object file
  580.                to receive questions and perform different type of commands
  581.                which are built into Adam.
  582.  
  583.                We call these commands "ACTION VERBS"  meaning that we want
  584.                Adam to do something and then tell our objects what actions
  585.                took place.   (You great minds working with AI are still in
  586.                the dark ages).
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  ┌──────┐
  596. ╔═════╗ │╔═════════════════════════════════════════════════════════════════════╗
  597. ║  8  ║ │║ UTILITIES                                                           ║
  598. ╚═════╝─┘╚═════════════════════════════════════════════════════════════════════╝
  599.  
  600.                The following is a list of the -ACTION VERBS- that Adam can
  601.                understand.
  602.  
  603.                VERB     ACTION returned in VARIABLE TYPE
  604.                ____     __________________ ________ ____
  605.  
  606.                DBF      GET DATABASE       dbf      string
  607.                NTX      GET INDEXES        ntx      string
  608.                ONE      GET ONE INDEX      ntx      string
  609.                FLD      GET FIELD LIST     fld      string
  610.                HUE      GET SETCOLOR()     color    string
  611.                ASK      ASK QUESTION       ans      string
  612.                FRM      GET REPORT FORMS   frm      string
  613.                LBL      GET LABEL FORMS    lbl      string
  614.                TXT      GET FILES *.TXT    txt      string
  615.                PRG      GET FILES *.PRG    prg      string
  616.                DOC      GET FILES *.DOC    doc      string
  617.                NUM      GET NUMBER         num      numeric
  618.  
  619.                All strings return a null as a default and  numeric returns
  620.                a zero value as a default.
  621.  
  622.                The information following the object verbs are questions to
  623.                ask the user.  For all verbs that pertain to files you must
  624.                try to keep your questions under 13 characters in length so
  625.                it fits inside the action window.
  626.  
  627.                Adam passes the answers back to the object file as a string
  628.                containing the parameters needed to call the object files.
  629.  
  630.       DEBUG  - current object allows you to edit the current window object
  631.                in a browse type window. You will find this feature helpful
  632.                when you just need to make a small change in an object, and
  633.                you don't want to redo the complete object.
  634.  
  635.       IMPORT - window object import lets you suspend  work  on the current
  636.                file and open another file to import an existing object in-
  637.                to your current program.
  638.  
  639.                This makes it possible to create fantastic title screens to
  640.                re-use later in another program.  Using this feature allows
  641.                you to even create a whole file of shapes, graphics, menus,
  642.                or special window objects, and call them into your programs
  643.                whenever you need them.
  644.  
  645.       REGULAR- regular code or network.   Just press the letter 'R' or 'N'
  646.                to toggle from regular or multiuser code generation.
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.                                                                         ┌──────┐
  662. ╔════════════════════════════════════════════════════════════════════╗ ╔═════╗ │
  663. ║                                                     OBJECT LIBRARY ║ ║  9  ║ │
  664. ╚════════════════════════════════════════════════════════════════════╝ ╚═════╝─┘
  665.  
  666.                As you create menu options with Adam you will be  attaching
  667.                actions to each menu choice.   These actions  can tell Adam
  668.                that you want a menu option to call another  menu,  screen,
  669.                code, browse window or an object from your object library.
  670.  
  671.                You can also type in any commands  manually  into  the menu
  672.                options. (Any Clipper compatible commands work.) To call up
  673.                the object library press the F1 key.
  674.  
  675. ╔══════════════════════════════════════════════════════════════════════════════╗
  676. ║ Description Listing Vendor Listing ReOrder Report                            ║
  677. ╚══════════════════════════════════════════════════════════════════════════════╝
  678. ╔Description Listing═══════════════════════════════════════════════════════════╗
  679. ║DO report WITH "SAMPLE","DES","SAMPLE.FRM","Inventory Listing By Description",║
  680. ║""                                                                            ║
  681. ║                                                                              ║
  682. ║                                                                              ║
  683. ╚═══Procedure Library - Press F1 For Object Library - Press Ctrl/W To Exit═════╝
  684.                                                               ╔═Objects════════╗
  685.                Adam will display a list of all the objects    ║ TABLE.OBJ      ║
  686.                that are in the current directory. --------->  ║ REPORT.OBJ   √ ║
  687.                                                               ║ PRINTER.OBJ  √ ║
  688.                Select the object you want to attach to the    ║ ADAMLIBA.OBJ √ ║
  689.                menu procedure option.  And just answer the    ║ FILTER.OBJ   √ ║
  690.                questions that your SMART OBJECTS ask you.     ║ LETTERS.OBJ  √ ║
  691.                                                               ║ BACKUP.OBJ   √ ║
  692.                As you select objects from your library the    ║ MULTUSER.OBJ √ ║
  693.                program will keep track of which object you    ║ PACKFILE.OBJ   ║
  694.                have selected.   This is the way Adam knows    ║ LABELS.OBJ     ║
  695.                which objects to include in your program.      ║ USERHELP.OBJ   ║
  696.                                                               ║ ADAMLIBB.OBJ √ ║
  697.                You can manually tell Adam to use or not to    ║ DCODE.OBJ      ║
  698.                use an object by moving down to the objects    ║ CARDEX.OBJ     ║
  699.                and pressing the right arrow key.              ╚════════════════╝
  700.  
  701.                The right arrow key toggles the object from on to off, Some
  702.                objects are automatically used by Adam,  these are MULTUSER
  703.                and ADAMLIB*.   The ADAMLIB* is where you can place any new
  704.                procedures or functions that might be needed for a special,
  705.                or unique application you are designing.
  706.  
  707.                If you are creating a large procedure, you should create it
  708.                as a smart object file.    Save your ADAMLIB* just for very
  709.                small functions or procedures.
  710.  
  711.                The  ADAMLIB*.OBJ already contains a few functions that you
  712.                can call from your own SMART OBJECTS. Listed below are some
  713.                of the functions that are in this file.
  714.  
  715.       WINDOW - DO window WITH rt,ct,rb,cb,"color",type,snd
  716.       DOS    - DO dos
  717.       GETANS - GETANS("message","default","valid")
  718.       MEDIT  - MEDIT("temp","memofield")
  719.       PCHECK - IF PCHECK() ; SET PRINT ON ; ENDIF
  720.       CENTER - @ ??,?? SAY CENTER("message")
  721.       FILTER - FILTER("expr")
  722.       READIT - Use in place of: SET CURSOR ON ; READ ; SET CURSOR OFF
  723.  
  724.  
  725.  
  726.  
  727.  ┌──────┐
  728. ╔═════╗ │╔═════════════════════════════════════════════════════════════════════╗
  729. ║ 10  ║ │║ TIPS                                                                ║
  730. ╚═════╝─┘╚═════════════════════════════════════════════════════════════════════╝
  731.  
  732.       - Layout your program design on paper first, before you start devel-
  733.         oping your ADAM programs.
  734.  
  735.       - Always create your database and any related index,report and label
  736.         files before you start to create your program.
  737.  
  738.       - Allow at least one space on both sides of your menu options,  this
  739.         will create better looking menus.
  740.  
  741.       - Remember to press the right arrow key to activate a library object
  742.         when entering objects manually,  otherwise ADAM will not grab that
  743.         object when generating your program.
  744.  
  745.       - Always select all your index files when using a  Table,  Browse or
  746.         custom Edit window, otherwise index files can not be maintained.
  747.  
  748.       - Avoid using exploding window objects for large windows.  Exploding
  749.         windows will look better when used with smaller windows due to the
  750.         time involved in drawing the window.
  751.  
  752.       - Use Note (sound) sparingly to draw attention to special window ob-
  753.         jects, such as your main menu.
  754.  
  755.       - Try to avoid using more than three or four different colors in the
  756.         designing of your program. Too many colors tend to look confusing.
  757.  
  758.       - Do not use too many different types of windows. Maintain a uniform
  759.         appearance in your screen designs.
  760.  
  761.       - Always remove the procedure object first before removing the  menu
  762.         option.
  763.  
  764.       - Menu size should not be larger than the number of options the menu
  765.         contains.
  766.  
  767.       - Always try to make each menu option start with a different letter.
  768.         This will allow the user to  quickly select a menu option  just by
  769.         pressing the first letter of a menu option.
  770.  
  771.       - Use overlapping menus whenever possible to show the connection be-
  772.         tween the menus.
  773.  
  774.       - Place an "*" symbol as your first menu option procedure if you are
  775.         not ready to create an object for the first menu option. This will
  776.         force ADAM to write the object as MENU code and not as TEXT.
  777.  
  778.       - When creating a custom edit window the field gets are read in  the
  779.         order that they are selected, not the order they are placed.
  780.  
  781.       - When using a lotus style menu,   position your title screen on the
  782.         fourth line of the  display and save the  last line for  your help
  783.         messages. This gives your screens a more professional appearance.
  784.  
  785.       - When using memo fields,  try to place the memo fields last in your
  786.         browse or edit windows. This will allow the user to press Ctrl-End
  787.         to go immediately into memo edit.
  788.  
  789.  
  790.  
  791.  
  792.  
  793.                                                                         ┌──────┐
  794. ╔════════════════════════════════════════════════════════════════════╗ ╔═════╗ │
  795. ║                                                               TIPS ║ ║  11 ║ │
  796. ╚════════════════════════════════════════════════════════════════════╝ ╚═════╝─┘
  797.  
  798.       - Adam recognizes NINE different types of objects.   They are listed
  799.         below by name and how they are used.
  800.  
  801.         NAME  APPLICATION
  802.         ____  ____________________________________________________________
  803.  
  804.         MENU  Contains all types of menus.
  805.  
  806.         TEXT  Used for title screens, or any window that contains text.
  807.  
  808.         BROW  A browse window with editing features.
  809.  
  810.         LOOK  A browse window without editing features.
  811.  
  812.         PICK  A browse window that does a replace.
  813.  
  814.         EDIT  A custom designed full screen editing window.
  815.  
  816.         GETS  Generate says/gets procedure only.
  817.  
  818.         CODE  A text window saved with a lower case object name.   Used to
  819.               contain procedure code that you enter yourself.
  820.  
  821.         FILM  Animation window.
  822.  
  823.       - One of the most powerful features in Adam is the ability to use a
  824.         VALID command to call a function.
  825.  
  826.         EXAMPLE:VALID
  827.         -------------
  828.         VALID CHECKNO(check)
  829.  
  830.       - Use the STARTUP feature in the first window, to call a CODE window
  831.         that contains memory variable initialization, or SET KEY commands.
  832.  
  833.         EXAMPLE:STARTUP
  834.         ---------------
  835.         IF FILE("INVNUM.MEM")
  836.            RESTORE FROM INVNUM
  837.         ELSE
  838.            invoice = 1001
  839.            SAVE TO INVNUM
  840.         ENDIF
  841.         invoice = invoice + 1
  842.  
  843.         EXAMPLE:QUIT
  844.         ------------
  845.         RELEASE ALL EXCEPT invoice
  846.         SAVE TO INVNUM
  847.  
  848.       - Use a MENU window to create a quick picklist window.  And for each
  849.         menu option use the -KEYBOARD-  command to stuff the keyboard with
  850.         the users choice.
  851.  
  852.         RED          KEYBOARD "RED"
  853.         BLACK        KEYBOARD "BLACK"
  854.         GREEN        KEYBOARD "GREEN"
  855.  
  856.  
  857.  
  858.  
  859.  ┌──────┐
  860. ╔═════╗ │╔═════════════════════════════════════════════════════════════════════╗
  861. ║ 12  ║ │║ SAMPLE PROGRAM                                                      ║
  862. ╚═════╝─┘╚═════════════════════════════════════════════════════════════════════╝
  863.  
  864.       Lets take a step by step walk through Adam and create our first Adam
  865.       program.  The first thing we need to do is create our database file,
  866.       press "U" for Utility menu.
  867.  
  868. ╔═Utility Menu═════════╗
  869. ║█Create database file█║
  870. ║ Modify database file ║
  871. ║ Index database files ║
  872. ║ Browse window design ║
  873. ║ Lookup window design ║
  874. ║ Pickup window design ║
  875. ║ Editit window design ║
  876. ║ Set values of F2 key ║
  877. ║ Adam's object editor ║
  878. ║ Debug current object ║
  879. ║ Window object import ║
  880. ║ REGULAR CODE PROGRAM ║
  881. ╚══════════════════════╝
  882.  
  883.    PRESS "C" for Create database file.
  884.  
  885.       You should now see the CREATE DATABASE STRUCTURE screen on your
  886.       monitor. Enter the Field information as in our example below.
  887.  
  888. ╔══════════════════════════════════════════════════════════════════════════════╗
  889. ║                                                                              ║
  890. ║   CREATE DATABASE STRUCTURE                                                  ║
  891. ║                                                                              ║
  892. ║                                                                              ║
  893. ║                                                                              ║
  894. ║     FIELD        TYPE   LEN   DEC                                            ║
  895. ║   ═════════════╤══════╤═════╤══════                                          ║
  896. ║     NAME       │ C    │  30 │   0                                            ║
  897. ║     ADDRESS    │ C    │  30 │   0                                            ║
  898. ║     CITY       │ C    │  21 │   0                                            ║
  899. ║     ST         │ C    │   2 │   0                                            ║
  900. ║     ZIP        │ C    │   5 │   0                                            ║
  901. ║     PHONE      │ C    │  14 │   0                                            ║
  902. ║     MEMO       │ M    │  10 │   0                                            ║
  903. ║                │      │     │                                                ║
  904. ║                │      │     │                                                ║
  905. ║                │      │     │                                                ║
  906. ║                │      │     │                                                ║
  907. ║                │      │     │                                                ║
  908. ║                │      │     │             Save Database Structure?(Y/N) Y    ║
  909. ║                                                                              ║
  910. ╚══════════════════════════════════════════════════════════════════════════════╝
  911.  
  912.    PRESS "Ctrl-W" when you have entered all the field data.
  913.  
  914.       Adam will now ask you if you want to save the new structure.
  915.  
  916.    PRESS "Y" to save the structure to disk.
  917.  
  918.       Adam will prompt you to enter a filename for your new database file.
  919.  
  920.    ENTER "MAILLIST" for our sample program and press {enter}.
  921.  
  922.  
  923.  
  924.  
  925.                                                                         ┌──────┐
  926. ╔════════════════════════════════════════════════════════════════════╗ ╔═════╗ │
  927. ║                                                     SAMPLE PROGRAM ║ ║  13 ║ │
  928. ╚════════════════════════════════════════════════════════════════════╝ ╚═════╝─┘
  929.  
  930.       Now we need to create an index file for our sample program.
  931.  
  932.    PRESS "I" to Index database file.
  933.  
  934. ╔═Utility Menu═════════╗═══════════════════════════════════════════════════════╗
  935. ║ Create database file ║                                                       ║
  936. ║ Modify database file ║CTURE                                                  ║
  937. ║█Index database files█║                                                       ║
  938. ║ Browse window design ║                                                       ║
  939. ║ Lookup window design ║                                                       ║
  940. ║ Pickup window design ║                                                       ║
  941. ║ Editit window design ║  LEN   DEC                                            ║
  942. ║ Set values of F2 key ║╤═════╤══════                                          ║
  943. ║ Adam's object editor ║│  30 │   0                                            ║
  944. ║ Debug current object ║│  30 │   0                                            ║
  945. ║ Window object import ║│  21 │   0                                            ║
  946. ║ REGULAR CODE PROGRAM ║│   2 │   0                                            ║
  947. ╚══════════════════════╝│   5 │   0                                            ║
  948. ║     PHONE      │ C    │  14 │   0                                            ║
  949. ║     MEMO       │ M    │  10 │   0                                            ║
  950. ║                │      │     │                                                ║
  951. ║                │      │     │                                                ║
  952. ║                │      │     │                                                ║
  953. ║                │      │     │                                                ║
  954. ║                │      │     │                                                ║
  955. ║                │      │     │             Save Database Structure?(Y/N) Y    ║
  956. ║                                                                              ║
  957. ╚══════════════════════════════════════════════════════════════════════════════╝
  958.  
  959. ╔═Utility Menu═════════╗═══════════════════════════════════════════════════════╗
  960. ║ Create database file ║                                                       ║
  961. ║ Modify database file ║CTURE                                                  ║
  962. ║█Index database files█║                                                       ║
  963. ║ Browse window design ║                                                       ║
  964. ║ Lookup window design ║                                                       ║
  965. ║ Pickup window design ║                                                       ║
  966. ║ Editit window design ║  LEN   DEC                                            ║
  967. ║ Set values of F2 key ║╤═════╤══════                                          ║
  968. ╔═Select DBF════╗ditor ║│  30 │   0                                            ║
  969. ║█MAILLIST.DBF █║bject ║│  30 │   0                                            ║
  970. ╚═══════════════╝mport ║│  21 │   0                                            ║
  971. ║ REGULAR CODE PROGRAM ║│   2 │   0                                            ║
  972. ╚══════════════════════╝│   5 │   0                                            ║
  973. ║     PHONE      │ C    │  14 │   0                                            ║
  974. ║     MEMO       │ M    │  10 │   0                                            ║
  975. ║                │      │     │                                                ║
  976. ║                │      │     │                                                ║
  977. ║                │      │     │                                                ║
  978. ║                │      │     │                                                ║
  979. ║                │      │     │                                                ║
  980. ║                │      │     │             Save Database Structure?(Y/N) Y    ║
  981. ║                                                                              ║
  982. ╚══════════════════════════════════════════════════════════════════════════════╝
  983.  
  984.       Adam will ask you to select the database file to index.
  985.  
  986.    PRESS "ENTER" to select the file we just created called MAILLIST.DBF
  987.  
  988.  
  989.  
  990.  
  991.  ┌──────┐
  992. ╔═════╗ │╔═════════════════════════════════════════════════════════════════════╗
  993. ║ 14  ║ │║ SAMPLE PROGRAM                                                      ║
  994. ╚═════╝─┘╚═════════════════════════════════════════════════════════════════════╝
  995.  
  996. ╔═Utility Menu═════════╗═══════════════════════════════════════════════════════╗
  997. ║ Create database file ║                                                       ║
  998. ║ Modify database file ║CTURE                                                  ║
  999. ║█Index database files█║                                                       ║
  1000. ║ Browse window design ║                                                       ║
  1001. ║ Lookup window design ║                                                       ║
  1002. ║ Pickup window design ║                                                       ║
  1003. ║ Editit window design ║  LEN   DEC                                            ║
  1004. ║ Set values of F2 key ║╤═════╤══════                                          ║
  1005. ╔═Index on════╗ editor ║│  30 │   0                                            ║
  1006. ║█NAME       █║ object ║│  30 │   0                                            ║
  1007. ║ ADDRESS     ║ import ║│  21 │   0                                            ║
  1008. ║ CITY        ║PROGRAM ║│   2 │   0                                            ║
  1009. ║ ST          ║════════╝│   5 │   0                                            ║
  1010. ║ ZIP         ║  │ C    │  14 │   0                                            ║
  1011. ║ PHONE       ║  │ M    │  10 │   0                                            ║
  1012. ║ MEMO        ║  │      │     │                                                ║
  1013. ╚═════════════╝  │      │     │                                                ║
  1014. ║                │      │     │                                                ║
  1015. ║                │      │     │                                                ║
  1016. ║                │      │     │             Save Database Structure?(Y/N) Y    ║
  1017. ╔══════════════════════════════════════════════════════════════════════════════╗
  1018. ║ INDEX ON                                                                     ║
  1019. ╚══════════════════════════════════════════════════════════════════════════════╝
  1020.  
  1021.       Now select the field called "NAME" which will be the field we want
  1022.       to create our index on.
  1023.  
  1024.    PRESS "ENTER" to select the field called "NAME", and then press ESC.
  1025.  
  1026.    ENTER "NAME" for the name of our INDEX FILE, and press {enter}.
  1027.  
  1028. ╔═Utility Menu═════════╗═══════════════════════════════════════════════════════╗
  1029. ║ Create database file ║                                                       ║
  1030. ║ Modify database file ║CTURE                                                  ║
  1031. ║█Index database files█║                                                       ║
  1032. ║ Browse window design ║                                                       ║
  1033. ║ Lookup window design ║                                                       ║
  1034. ║ Pickup window design ║                                                       ║
  1035. ║ Editit window design ║  LEN   DEC                                            ║
  1036. ║ Set values of F2 key ║╤═════╤══════                                          ║
  1037. ║ Adam's object editor ║│  30 │   0                                            ║
  1038. ║ Debug current object ║│  30 │   0                                            ║
  1039. ║ Window object import ║│  21 │   0                                            ║
  1040. ║ REGULAR CODE PROGRAM ║│   2 │   0                                            ║
  1041. ╚══════════════════════╝│   5 │   0                                            ║
  1042. ║     PHONE      │ C    │  14 │   0                                            ║
  1043. ║     MEMO       │ M    │  10 │   0                                            ║
  1044. ║                │      │     │                                                ║
  1045. ║                │      │     │                                                ║
  1046. ║                │      │     │                                                ║
  1047. ║                │      │     │                                                ║
  1048. ║                │      │     │             Save Database Structure?(Y/N) Y    ║
  1049. ╔═Enter index file name════════════════════════════════════════════════════════╗
  1050. ║ INDEX ON NAME TO NAME                                                        ║
  1051. ╚══════════════════════════════════════════════════════════════════════════════╝
  1052.  
  1053.  
  1054.  
  1055.  
  1056.  
  1057.                                                                         ┌──────┐
  1058. ╔════════════════════════════════════════════════════════════════════╗ ╔═════╗ │
  1059. ║                                                     SAMPLE PROGRAM ║ ║  15 ║ │
  1060. ╚════════════════════════════════════════════════════════════════════╝ ╚═════╝─┘
  1061.  
  1062.    PRESS "ESC" twice to return to the main menu.
  1063.  
  1064.       Before we go any further in Adam, we should exit Adam at this point,
  1065.       and create our report format and label format file. Remember to call
  1066.       them "MAILLIST.FRM" and "MAILLIST.LBL".
  1067.  
  1068. ╔═══════════════════╗  Now we are ready to create our title screen for our
  1069. ║                   ║  masterpiece.   You should see a window like the one
  1070. ║                   ║  shown below, in the top left corner of your screen,
  1071. ║                   ║  after pressing the letter 'S' for size.
  1072. ║                   ║
  1073. ║                   ║
  1074. ║                   ║
  1075. ║                   ║
  1076. ║                   ║
  1077. ║                   ║
  1078. ╚═══════════════════╝
  1079.  
  1080.    PRESS "S" to SIZE our window.
  1081.  
  1082.    PRESS "SHIFT-RIGHT ARROW" to stretch the window to the right.
  1083.  
  1084.    PRESS "SHIFT-DOWN ARROW" to stretch the window to the bottom.
  1085.  
  1086.    PRESS "UP ARROW" one time to decrease our window size by one line.
  1087.  
  1088. ╔══════════════════════════════════════════════════════════════════════════════╗
  1089. ║                                                                              ║
  1090. ║                                                                              ║
  1091. ║                                                                              ║
  1092. ║                                                                              ║
  1093. ║                                                                              ║
  1094. ║                                                                              ║
  1095. ║                                                                              ║
  1096. ║                                                                              ║
  1097. ║                                                                              ║
  1098. ║                                                                              ║
  1099. ║                                                                              ║
  1100. ║                                                                              ║
  1101. ║                                                                              ║
  1102. ║                                                                              ║
  1103. ║                                                                              ║
  1104. ║                                                                              ║
  1105. ║                                                                              ║
  1106. ║                                                                              ║
  1107. ║                                                                              ║
  1108. ║                                                                              ║
  1109. ╚══════════════════════════════════════════════════════════════════════════════╝
  1110.  
  1111.  
  1112.    PRESS "ENTER" to return to the main menu.
  1113.  
  1114.    PRESS "B" to change the background color to BLUE.
  1115.  
  1116.    PRESS "T" to enter the TEXT mode.
  1117.  
  1118.  
  1119.  
  1120.  
  1121.  
  1122.  
  1123.  ┌──────┐
  1124. ╔═════╗ │╔═════════════════════════════════════════════════════════════════════╗
  1125. ║ 16  ║ │║ SAMPLE PROGRAM                                                      ║
  1126. ╚═════╝─┘╚═════════════════════════════════════════════════════════════════════╝
  1127.  
  1128.       Enter the title for your program like the example shown below.
  1129.  
  1130. ╔══════════════════════════════════════════════════════════════════════════════╗
  1131. ║  ____ ____ ___  ___  ____ ___ _    ____                                      ║
  1132. ║  █    █__█ █__▌ █  █ █__   █  █    █__                                       ║
  1133. ║  █___ █  █ █  █ █__█ █    _█_ █___ █___                                      ║
  1134. ║______________________________________________________________________________║
  1135. ║                                                                              ║
  1136. ║                                                                              ║
  1137. ║                                                                              ║
  1138. ║  NOTE: You can record keyboard macros using the 'F2' key from the utility    ║
  1139. ║        menu. The SET KEY function will allow you to enter text characters    ║
  1140. ║        which can be played back while in TEXT mode by pressing the F2 key    ║
  1141. ║                                                                              ║
  1142. ║        You can also press 'ALT/F2' while in TEXT mode to popup an 'ASCII'    ║
  1143. ║        lookup window. Select any character from ( 32-254 ) and then press    ║
  1144. ║        the 'F2' key to repeat the character.  If you press ESC the F2 key    ║
  1145. ║        will be left unchanged.                                               ║
  1146. ║                                                                              ║
  1147. ║                                                                              ║
  1148. ║                                                                              ║
  1149. ║                                                                              ║
  1150. ║                                                                              ║
  1151. ║                                                                              ║
  1152. ╚══════════════════════════════════════════════════════════════════════════════╝
  1153. ╔══════════════════════════════════════════════════════════════════════════════╗
  1154. ║  ____ ____ ___  ___  ____ ___ _    ____                                      ║
  1155. ║  █    █__█ █__▌ █  █ █__   █  █    █__                                       ║
  1156. ║  █___ █  █ █  █ █__█ █    _█_ █___ █___                                      ║
  1157. ║______________________________________________________________________________║
  1158. ║                                                                              ║
  1159. ║                                                                              ║
  1160. ║                                                                              ║
  1161. ║                                                                              ║
  1162. ║                                                                              ║
  1163. ║                                                                              ║
  1164. ║                                                                              ║
  1165. ║                                                                              ║
  1166. ║                                                                              ║
  1167. ║                                                                              ║
  1168. ║                                                                              ║
  1169. ║                                                                              ║
  1170. ║                                                                              ║
  1171. ║                                                                              ║
  1172. ║                                                                              ║
  1173. ║                                                                              ║
  1174. ╔═Object═════Description══════════════════════════════Startup════Quit══════════╗
  1175. ║ START      title screen                             ██████████ ██████████    ║
  1176. ╚══════════════════════════════════════════════════════════════════════════════╝
  1177.  
  1178.    PRESS "CTRL-W" to exit the TEXT mode.
  1179.  
  1180.    PRESS "C" to save. Now enter the filename for our program "SAMPLE".
  1181.  
  1182.    ENTER "START" in upper case for our object name, and press "ENTER".
  1183.  
  1184.    ENTER "title screen" for our description and press "PgDn" to save.
  1185.  
  1186.  
  1187.  
  1188.  
  1189.                                                                         ┌──────┐
  1190. ╔════════════════════════════════════════════════════════════════════╗ ╔═════╗ │
  1191. ║                                                     SAMPLE PROGRAM ║ ║  17 ║ │
  1192. ╚════════════════════════════════════════════════════════════════════╝ ╚═════╝─┘
  1193.  
  1194.       Now we are ready to create our first MENU window.
  1195.  
  1196.    PRESS "M" to move the menu window under our title.
  1197.  
  1198. ╔═══════════════════╗══════════════════════════════════════════════════════════╗
  1199. ║  ____ ____ ___  __║  ____ ___ _    ____                                      ║
  1200. ║  █    █__█ █__▌ █ ║█ █__   █  █    █__                                       ║
  1201. ║  █___ █  █ █  █ █_║█ █    _█_ █___ █___                                      ║
  1202. ║___________________║__________________________________________________________║
  1203. ║                   ║                                                          ║
  1204. ║                   ║                                                          ║
  1205. ║                   ║                                                          ║
  1206. ║                   ║                                                          ║
  1207. ║                   ║                                                          ║
  1208. ╚═══════════════════╝                                                          ║
  1209. ║                                                                              ║
  1210. ║                                                                              ║
  1211. ║                                                                              ║
  1212. ║                                                                              ║
  1213. ║                                                                              ║
  1214. ║                                                                              ║
  1215. ║                                                                              ║
  1216. ║                                                                              ║
  1217. ║                                                                              ║
  1218. ║                                                                              ║
  1219. ║                                                                              ║
  1220. ╚══════════════════════════════════════════════════════════════════════════════╝
  1221. ╔══════════════════════════════════════════════════════════════════════════════╗
  1222. ║  ____ ____ ___  ___  ____ ___ _    ____                                      ║
  1223. ║  █    █__█ █__▌ █  █ █__   █  █    █__                                       ║
  1224. ║  █___ █  █ █  █ █__█ █    _█_ █___ █___                                      ║
  1225. ║______________________________________________________________________________║
  1226. ║                                                                              ║
  1227. ║  ╔═══════════════════╗                                                       ║
  1228. ║  ║                   ║                                                       ║
  1229. ║  ║                   ║                                                       ║
  1230. ║  ║                   ║                                                       ║
  1231. ║  ║                   ║                                                       ║
  1232. ║  ║                   ║                                                       ║
  1233. ║  ║                   ║                                                       ║
  1234. ║  ║                   ║                                                       ║
  1235. ║  ║                   ║                                                       ║
  1236. ║  ║                   ║                                                       ║
  1237. ║  ╚═══════════════════╝                                                       ║
  1238. ║                                                                              ║
  1239. ║                                                                              ║
  1240. ║                                                                              ║
  1241. ║                                                                              ║
  1242. ║                                                                              ║
  1243. ╚══════════════════════════════════════════════════════════════════════════════╝
  1244.  
  1245.       Use the arrow keys to position the MENU window as shown above.
  1246.  
  1247.    PRESS "ENTER" to return to the main menu.
  1248.  
  1249.  
  1250.  
  1251.  
  1252.  
  1253.  
  1254.  
  1255.  ┌──────┐
  1256. ╔═════╗ │╔═════════════════════════════════════════════════════════════════════╗
  1257. ║ 18  ║ │║ SAMPLE PROGRAM                                                      ║
  1258. ╚═════╝─┘╚═════════════════════════════════════════════════════════════════════╝
  1259.  
  1260. ╔══════════════════════════════════════════════════════════════════════════════╗
  1261. ║  ____ ____ ___  ___  ____ ___ _    ____                                      ║
  1262. ║  █    █__█ █__▌ █  █ █__   █  █    █__                                       ║
  1263. ║  █___ █  █ █  █ █__█ █    _█_ █___ █___                                      ║
  1264. ║______________________________________________________________________________║
  1265. ║                                                                              ║
  1266. ║  ╔═══════════════════╗                                                       ║
  1267. ║  ║ Add               ║                                                       ║
  1268. ║  ║ Edit/View         ║                                                       ║
  1269. ║  ║ Mailmerge Letters ║                                                       ║
  1270. ║  ║ Reports           ║                                                       ║
  1271. ║  ║ Labels            ║                                                       ║
  1272. ║  ║ Utilities         ║                                                       ║
  1273. ║  ║ Quit              ║                                                       ║
  1274. ║  ║                   ║                                                       ║
  1275. ║  ║                   ║                                                       ║
  1276. ║  ╚═══════════════════╝                                                       ║
  1277. ║                                                                              ║
  1278. ║                                                                              ║
  1279. ║                                                                              ║
  1280. ║                                                                              ║
  1281. ║                                                                              ║
  1282. ╚══════════════════════════════════════════════════════════════════════════════╝
  1283.  
  1284.    PRESS "T" to enter our menu options.
  1285.  
  1286.    PRESS "CTRL-W" to return to the main menu.
  1287.  
  1288. ╔══════════════════════════════════════════════════════════════════════════════╗
  1289. ║  ____ ____ ___  ___  ____ ___ _    ____                                      ║
  1290. ║  █    █__█ █__▌ █  █ █__   █  █    █__                                       ║
  1291. ║  █___ █  █ █  █ █__█ █    _█_ █___ █___                                      ║
  1292. ║______________________________________________________________________________║
  1293. ║                                                                              ║
  1294. ║  ╔═══════════════════╗                                                       ║
  1295. ║  ║ Add               ║                                                       ║
  1296. ║  ║ Edit/View         ║                                                       ║
  1297. ║  ║ Mailmerge Letters ║                                                       ║
  1298. ║  ║ Reports           ║                                                       ║
  1299. ║  ║ Labels            ║                                                       ║
  1300. ║  ║ Utilities         ║                                                       ║
  1301. ║  ║ Quit              ║                                                       ║
  1302. ║  ╚═══════════════════╝                                                       ║
  1303. ║                                                                              ║
  1304. ║                                                                              ║
  1305. ║                                                                              ║
  1306. ║                                                                              ║
  1307. ║                                                                              ║
  1308. ║                                                                              ║
  1309. ║                                                                              ║
  1310. ╚══════════════════════════════════════════════════════════════════════════════╝
  1311.  
  1312.    PRESS "S" to size our menu, and press the up arrow key twice.
  1313.  
  1314.    PRESS "ENTER" to return to the main menu.
  1315.  
  1316.  
  1317.  
  1318.  
  1319.  
  1320.  
  1321.                                                                         ┌──────┐
  1322. ╔════════════════════════════════════════════════════════════════════╗ ╔═════╗ │
  1323. ║                                                     SAMPLE PROGRAM ║ ║  19 ║ │
  1324. ╚════════════════════════════════════════════════════════════════════╝ ╚═════╝─┘
  1325.  
  1326.       Now we're ready to add the procedure objects to our menu options.
  1327.  
  1328.    PRESS "P" from the main menu.
  1329.  
  1330.    ENTER "DO EDIT" for our first menu option.
  1331.  
  1332. ╔══════════════════════════════════════════════════════════════════════════════╗
  1333. ║ Add Edit/View Mailmerge Letters Reports Labels Utilities Quit                ║
  1334. ╚══════════════════════════════════════════════════════════════════════════════╝
  1335. ╔Add═══════════════════════════════════════════════════════════════════════════╗
  1336. ║DO EDIT                                                                       ║
  1337. ║                                                                              ║
  1338. ║                                                                              ║
  1339. ║                                                                              ║
  1340. ╚═══Procedure Library - Press F1 For Object Library - Press Ctrl/W To Exit═════╝
  1341. ║                                                                              ║
  1342. ║                                                                              ║
  1343. ║                                                                              ║
  1344. ║                                                                              ║
  1345. ║                                                                              ║
  1346. ║                                                                              ║
  1347. ║                                                                              ║
  1348. ║                                                                              ║
  1349. ║                                                                              ║
  1350. ║                                                                              ║
  1351. ║                                                                              ║
  1352. ║                                                                              ║
  1353. ║                                                                              ║
  1354. ╚══════════════════════════════════════════════════════════════════════════════╝
  1355.  
  1356.    PRESS "PgDn" to move to our next menu option.
  1357.  
  1358.    ENTER "DO LOOK" for our EDIT/VIEW menu option, and "PgDn" to continue.
  1359.  
  1360. ╔══════════════════════════════════════════════════════════════════════════════╗
  1361. ║ Add Edit/View Mailmerge Letters Reports Labels Utilities Quit                ║
  1362. ╚══════════════════════════════════════════════════════════════════════════════╝
  1363. ╔Edit/View═════════════════════════════════════════════════════════════════════╗
  1364. ║DO LOOK                                                                       ║
  1365. ║                                                                              ║
  1366. ║                                                                              ║
  1367. ║                                                                              ║
  1368. ╚═══Procedure Library - Press F1 For Object Library - Press Ctrl/W To Exit═════╝
  1369. ║                                                                              ║
  1370. ║                                                                              ║
  1371. ║                                                                              ║
  1372. ║                                                                              ║
  1373. ║                                                                              ║
  1374. ║                                                                              ║
  1375. ║                                                                              ║
  1376. ║                                                                              ║
  1377. ║                                                                              ║
  1378. ║                                                                              ║
  1379. ║                                                                              ║
  1380. ║                                                                              ║
  1381. ║                                                                              ║
  1382. ╚══════════════════════════════════════════════════════════════════════════════╝
  1383.  
  1384.  
  1385.  
  1386.  
  1387.  ┌──────┐
  1388. ╔═════╗ │╔═════════════════════════════════════════════════════════════════════╗
  1389. ║ 20  ║ │║ SAMPLE PROGRAM                                                      ║
  1390. ╚═════╝─┘╚═════════════════════════════════════════════════════════════════════╝
  1391.  
  1392.    PRESS "F1" to select the LETTERS.OBJ from our object library.
  1393.  
  1394. ╔══════════════════════════════════════════════════════════════════════════════╗
  1395. ║ Add Edit/View Mailmerge Letters Reports Labels Utilities Quit                ║
  1396. ╚══════════════════════════════════════════════════════════════════════════════╝
  1397. ╔Mailmerge Letters═════════════════════════════════════════════════════════════╗
  1398. ║                                                                              ║
  1399. ║                                                                              ║
  1400. ║                                                                              ║
  1401. ║                                                                              ║
  1402. ╚═══Procedure Library - Press F1 For Object Library - Press Ctrl/W To Exit═════╝
  1403. ║                                                             ╔═Objects════════╗
  1404. ║                                                             ║ ADAMLIBA.OBJ √ ║
  1405. ║                                                             ║ TABLE.OBJ      ║
  1406. ║                                                             ║ REPORT.OBJ     ║
  1407. ║                                                             ║ PRINTER.OBJ    ║
  1408. ║                                                             ║ PACKFILE.OBJ   ║
  1409. ║                                                             ║ LABELS.OBJ     ║
  1410. ║                                                             ║ INVOICE.OBJ    ║
  1411. ║                                                             ║ USERHELP.OBJ   ║
  1412. ║                                                             ║ POPCAL.OBJ     ║
  1413. ║                                                             ║ DCODE.OBJ      ║
  1414. ║                                                             ║█LETTERS.OBJ  √█║
  1415. ║                                                             ║ BACKUP.OBJ     ║
  1416. ║                                                             ║ MULTUSER.OBJ √ ║
  1417. ╚═════════════════════════════════════════════════════════════║ ADAMLIBB.OBJ √ ║
  1418.                                                               ╚════════════════╝
  1419. ╔══════════════════════════════════════════════════════════════════════════════╗
  1420. ║ Add Edit/View Mailmerge Letters Reports Labels Utilities Quit                ║
  1421. ╚══════════════════════════════════════════════════════════════════════════════╝
  1422. ╔Mailmerge Letters═════════════════════════════════════════════════════════════╗
  1423. ║                                                                              ║
  1424. ║                                                                              ║
  1425. ║                                                                              ║
  1426. ║                                                                              ║
  1427. ╚═══Procedure Library - Press F1 For Object Library - Press Ctrl/W To Exit═════╝
  1428. ╔═Datafile DBF══╗                                             ╔═Objects════════╗
  1429. ║█MAILLIST.DBF █║                                             ║ ADAMLIBA.OBJ √ ║
  1430. ╚═══════════════╝                                             ║ TABLE.OBJ      ║
  1431. ║                                                             ║ REPORT.OBJ     ║
  1432. ║                                                             ║ PRINTER.OBJ    ║
  1433. ║                                                             ║ PACKFILE.OBJ   ║
  1434. ║                                                             ║ LABELS.OBJ     ║
  1435. ║                                                             ║ INVOICE.OBJ    ║
  1436. ║                                                             ║ USERHELP.OBJ   ║
  1437. ║                                                             ║ POPCAL.OBJ     ║
  1438. ║                                                             ║ DCODE.OBJ      ║
  1439. ║                                                             ║█LETTERS.OBJ  √█║
  1440. ║                                                             ║ BACKUP.OBJ     ║
  1441. ║                                                             ║ MULTUSER.OBJ √ ║
  1442. ╚═════════════════════════════════════════════════════════════║ ADAMLIBB.OBJ √ ║
  1443.                                                               ╚════════════════╝
  1444.    PRESS "ENTER" to select our maillist.dbf file.
  1445.  
  1446.    PRESS "ENTER" again to select the "NAME" index file.
  1447.  
  1448.  
  1449.  
  1450.  
  1451.  
  1452.  
  1453.                                                                         ┌──────┐
  1454. ╔════════════════════════════════════════════════════════════════════╗ ╔═════╗ │
  1455. ║                                                     SAMPLE PROGRAM ║ ║  21 ║ │
  1456. ╚════════════════════════════════════════════════════════════════════╝ ╚═════╝─┘
  1457.  
  1458.       Adam will ask us if we want to place any filter conditions over the
  1459.       records. For our example we won't need any filter.
  1460.  
  1461.    PRESS "ENTER" to skip this question.
  1462.  
  1463. ╔Enter Filter Condition For Letters════════════════════════════════════════════╗
  1464. ║                                                                              ║
  1465. ╚══════════════════════════════════════════════════════════════════════════════╝
  1466.  
  1467.       You should see the following parameters inserted automatically into
  1468.       the mailmerge menu option.
  1469.  
  1470. ╔Mailmerge Letters═════════════════════════════════════════════════════════════╗
  1471. ║DO letters WITH "MAILLIST","NAME",""                                          ║
  1472. ║                                                                              ║
  1473. ║                                                                              ║
  1474. ║                                                                              ║
  1475. ╚═══Procedure Library - Press F1 For Object Library - Press Ctrl/W To Exit═════╝
  1476.  
  1477.    PRESS "PgDn" to move on to the REPORTS menu option.
  1478.  
  1479.    PRESS "F1" to access our library objects.
  1480.  
  1481.    PRESS "R" to move to the REPORT.OBJ
  1482.  
  1483. ╔══════════════════════════════════════════════════════════════════════════════╗
  1484. ║ Add Edit/View Mailmerge Letters Reports Labels Utilities Quit                ║
  1485. ╚══════════════════════════════════════════════════════════════════════════════╝
  1486. ╔Reports═══════════════════════════════════════════════════════════════════════╗
  1487. ║                                                                              ║
  1488. ║                                                                              ║
  1489. ║                                                                              ║
  1490. ║                                                                              ║
  1491. ╚═══Procedure Library - Press F1 For Object Library - Press Ctrl/W To Exit═════╝
  1492. ║                                                             ╔═Objects════════╗
  1493. ║                                                             ║ ADAMLIBA.OBJ √ ║
  1494. ║                                                             ║ TABLE.OBJ      ║
  1495. ║                                                             ║█REPORT.OBJ    █║
  1496. ║                                                             ║ PRINTER.OBJ    ║
  1497. ║                                                             ║ PACKFILE.OBJ   ║
  1498. ║                                                             ║ LABELS.OBJ     ║
  1499. ║                                                             ║ INVOICE.OBJ    ║
  1500. ║                                                             ║ USERHELP.OBJ   ║
  1501. ║                                                             ║ POPCAL.OBJ     ║
  1502. ║                                                             ║ DCODE.OBJ      ║
  1503. ║                                                             ║ LETTERS.OBJ  √ ║
  1504. ║                                                             ║ BACKUP.OBJ     ║
  1505. ║                                                             ║ MULTUSER.OBJ √ ║
  1506. ╚═════════════════════════════════════════════════════════════║ ADAMLIBB.OBJ √ ║
  1507.                                                               ╚════════════════╝
  1508.    PRESS "ENTER" to select the REPORT object.
  1509.  
  1510.       Most of Adam's menus allow you to press the first letter of the item
  1511.       to select that option. This won't work if some of your object files
  1512.       start with the same letter.
  1513.  
  1514.  
  1515.  
  1516.  
  1517.  
  1518.  
  1519.  ┌──────┐
  1520. ╔═════╗ │╔═════════════════════════════════════════════════════════════════════╗
  1521. ║ 22  ║ │║ SAMPLE PROGRAM                                                      ║
  1522. ╚═════╝─┘╚═════════════════════════════════════════════════════════════════════╝
  1523.  
  1524.    PRESS "ENTER" to select the database to use for your report.
  1525.  
  1526.       In our example there should only be one database file to choose from
  1527.       the MAILLIST.DBF.
  1528.  
  1529. ╔══════════════════════════════════════════════════════════════════════════════╗
  1530. ║ Add Edit/View Mailmerge Letters Reports Labels Utilities Quit                ║
  1531. ╚══════════════════════════════════════════════════════════════════════════════╝
  1532. ╔Reports═══════════════════════════════════════════════════════════════════════╗
  1533. ║                                                                              ║
  1534. ║                                                                              ║
  1535. ║                                                                              ║
  1536. ║                                                                              ║
  1537. ╚═══Procedure Library - Press F1 For Object Library - Press Ctrl/W To Exit═════╝
  1538. ╔═Report DBF════╗                                             ╔═Objects════════╗
  1539. ║█MAILLIST.DBF █║                                             ║ ADAMLIBA.OBJ √ ║
  1540. ╚═══════════════╝                                             ║ TABLE.OBJ      ║
  1541. ║                                                             ║█REPORT.OBJ    █║
  1542. ║                                                             ║ PRINTER.OBJ    ║
  1543. ║                                                             ║ PACKFILE.OBJ   ║
  1544. ║                                                             ║ LABELS.OBJ     ║
  1545. ║                                                             ║ INVOICE.OBJ    ║
  1546. ║                                                             ║ USERHELP.OBJ   ║
  1547. ║                                                             ║ POPCAL.OBJ     ║
  1548. ║                                                             ║ DCODE.OBJ      ║
  1549. ║                                                             ║ LETTERS.OBJ  √ ║
  1550. ║                                                             ║ BACKUP.OBJ     ║
  1551. ║                                                             ║ MULTUSER.OBJ √ ║
  1552. ╚═════════════════════════════════════════════════════════════║ ADAMLIBB.OBJ √ ║
  1553.                                                               ╚════════════════╝
  1554. ╔══════════════════════════════════════════════════════════════════════════════╗
  1555. ║ Add Edit/View Mailmerge Letters Reports Labels Utilities Quit                ║
  1556. ╚══════════════════════════════════════════════════════════════════════════════╝
  1557. ╔Reports═══════════════════════════════════════════════════════════════════════╗
  1558. ║                                                                              ║
  1559. ║                                                                              ║
  1560. ║                                                                              ║
  1561. ║                                                                              ║
  1562. ╚═══Procedure Library - Press F1 For Object Library - Press Ctrl/W To Exit═════╝
  1563. ╔═Select one════╗                                             ╔═Objects════════╗
  1564. ║█NAME.NTX     █║                                             ║ ADAMLIBA.OBJ √ ║
  1565. ╚═══════════════╝                                             ║ TABLE.OBJ      ║
  1566. ║                                                             ║█REPORT.OBJ    █║
  1567. ║                                                             ║ PRINTER.OBJ    ║
  1568. ║                                                             ║ PACKFILE.OBJ   ║
  1569. ║                                                             ║ LABELS.OBJ     ║
  1570. ║                                                             ║ INVOICE.OBJ    ║
  1571. ║                                                             ║ USERHELP.OBJ   ║
  1572. ║                                                             ║ POPCAL.OBJ     ║
  1573. ║                                                             ║ DCODE.OBJ      ║
  1574. ║                                                             ║ LETTERS.OBJ  √ ║
  1575. ║                                                             ║ BACKUP.OBJ     ║
  1576. ║                                                             ║ MULTUSER.OBJ √ ║
  1577. ╚═════════════════════════════════════════════════════════════║ ADAMLIBB.OBJ √ ║
  1578.                                                               ╚════════════════╝
  1579.    PRESS "ENTER" to select our NAME index file.
  1580.  
  1581.  
  1582.  
  1583.  
  1584.  
  1585.                                                                         ┌──────┐
  1586. ╔════════════════════════════════════════════════════════════════════╗ ╔═════╗ │
  1587. ║                                                     SAMPLE PROGRAM ║ ║  23 ║ │
  1588. ╚════════════════════════════════════════════════════════════════════╝ ╚═════╝─┘
  1589.  
  1590.    PRESS "ENTER" again to select the report format file MAILLIST.FRM.
  1591.  
  1592. ╔══════════════════════════════════════════════════════════════════════════════╗
  1593. ║ Add Edit/View Mailmerge Letters Reports Labels Utilities Quit                ║
  1594. ╚══════════════════════════════════════════════════════════════════════════════╝
  1595. ╔Reports═══════════════════════════════════════════════════════════════════════╗
  1596. ║                                                                              ║
  1597. ║                                                                              ║
  1598. ║                                                                              ║
  1599. ║                                                                              ║
  1600. ╚═══Procedure Library - Press F1 For Object Library - Press Ctrl/W To Exit═════╝
  1601. ╔═Format File═══╗                                             ╔═Objects════════╗
  1602. ║█MAILLIST.FRM █║                                             ║ ADAMLIBA.OBJ √ ║
  1603. ╚═══════════════╝                                             ║ TABLE.OBJ      ║
  1604. ║                                                             ║█REPORT.OBJ    █║
  1605. ║                                                             ║ PRINTER.OBJ    ║
  1606. ║                                                             ║ PACKFILE.OBJ   ║
  1607. ║                                                             ║ LABELS.OBJ     ║
  1608. ║                                                             ║ INVOICE.OBJ    ║
  1609. ║                                                             ║ USERHELP.OBJ   ║
  1610. ║                                                             ║ POPCAL.OBJ     ║
  1611. ║                                                             ║ DCODE.OBJ      ║
  1612. ║                                                             ║ LETTERS.OBJ  √ ║
  1613. ║                                                             ║ BACKUP.OBJ     ║
  1614. ║                                                             ║ MULTUSER.OBJ √ ║
  1615. ╚═════════════════════════════════════════════════════════════║ ADAMLIBB.OBJ √ ║
  1616.                                                               ╚════════════════╝
  1617.  
  1618.    ENTER "CardFile Listing By Name" for our report heading.
  1619.  
  1620. ╔Enter Report Heading══════════════════════════════════════════════════════════╗
  1621. ║CardFile Listing By Name                                                      ║
  1622. ╚══════════════════════════════════════════════════════════════════════════════╝
  1623.  
  1624.    PRESS "ENTER" to skip the filter condition question.
  1625.  
  1626. ╔Enter Filter Condition For Report═════════════════════════════════════════════╗
  1627. ║                                                                              ║
  1628. ╚══════════════════════════════════════════════════════════════════════════════╝
  1629.  
  1630.       The following parameter line will automatically be inserted into the
  1631.       report procedure line.
  1632.  
  1633. ╔Reports═══════════════════════════════════════════════════════════════════════╗
  1634. ║DO report WITH "MAILLIST","NAME","MAILLIST.FRM","CardFile Listing By Name","" ║
  1635. ║                                                                              ║
  1636. ║                                                                              ║
  1637. ║                                                                              ║
  1638. ╚═══Procedure Library - Press F1 For Object Library - Press Ctrl/W To Exit═════╝
  1639.  
  1640.    PRESS "PgDn" to advance to the next menu option.
  1641.  
  1642.       Now we are ready to attach our LABELS object to our main menu.  This
  1643.       is done the same way we did the REPORT object.  You must be ready to
  1644.       try this one by yourself. If you need help refer back to reports.
  1645.  
  1646.  
  1647.  
  1648.  
  1649.  
  1650.  
  1651.  ┌──────┐
  1652. ╔═════╗ │╔═════════════════════════════════════════════════════════════════════╗
  1653. ║ 24  ║ │║ SAMPLE PROGRAM                                                      ║
  1654. ╚═════╝─┘╚═════════════════════════════════════════════════════════════════════╝
  1655.  
  1656.       If you've done your homework, you should see the following screen on
  1657.       your monitor.
  1658.  
  1659. ╔Labels════════════════════════════════════════════════════════════════════════╗
  1660. ║DO labels WITH "MAILLIST","NAME","MAILLIST.LBL",""                            ║
  1661. ║                                                                              ║
  1662. ║                                                                              ║
  1663. ║                                                                              ║
  1664. ╚═══Procedure Library - Press F1 For Object Library - Press Ctrl/W To Exit═════╝
  1665.  
  1666.    PRESS "PgDn" to move to the next menu option.
  1667.  
  1668.       This option will call our utility menu.
  1669.  
  1670.    ENTER "DO UTIL"
  1671.  
  1672.    PRESS "PgDn" to move to our last menu option.
  1673.  
  1674. ╔══════════════════════════════════════════════════════════════════════════════╗
  1675. ║ Add Edit/View Mailmerge Letters Reports Labels Utilities Quit                ║
  1676. ╚══════════════════════════════════════════════════════════════════════════════╝
  1677. ╔Utilities═════════════════════════════════════════════════════════════════════╗
  1678. ║DO UTIL                                                                       ║
  1679. ║                                                                              ║
  1680. ║                                                                              ║
  1681. ║                                                                              ║
  1682. ╚═══Procedure Library - Press F1 For Object Library - Press Ctrl/W To Exit═════╝
  1683.  
  1684.    ENTER "EXIT" for our last menu option.
  1685.  
  1686.    PRESS "CTRL-W" to return to Adam's main menu.
  1687.  
  1688. ╔══════════════════════════════════════════════════════════════════════════════╗
  1689. ║ Add Edit/View Mailmerge Letters Reports Labels Utilities Quit                ║
  1690. ╚══════════════════════════════════════════════════════════════════════════════╝
  1691. ╔Quit══════════════════════════════════════════════════════════════════════════╗
  1692. ║EXIT                                                                          ║
  1693. ║                                                                              ║
  1694. ║                                                                              ║
  1695. ║                                                                              ║
  1696. ╚═══Procedure Library - Press F1 For Object Library - Press Ctrl/W To Exit═════╝
  1697. ║                                                                              ║
  1698. ║                                                                              ║
  1699. ║                                                                              ║
  1700. ║                                                                              ║
  1701. ║                                                                              ║
  1702. ║                                                                              ║
  1703. ║                                                                              ║
  1704. ║                                                                              ║
  1705. ║                                                                              ║
  1706. ║                                                                              ║
  1707. ║                                                                              ║
  1708. ║                                                                              ║
  1709. ╚══════════════════════════════════════════════════════════════════════════════╝
  1710.  
  1711.    PRESS "B" four times to change the menu color to RED.
  1712.  
  1713.  
  1714.  
  1715.  
  1716.  
  1717.                                                                         ┌──────┐
  1718. ╔════════════════════════════════════════════════════════════════════╗ ╔═════╗ │
  1719. ║                                                     SAMPLE PROGRAM ║ ║  25 ║ │
  1720. ╚════════════════════════════════════════════════════════════════════╝ ╚═════╝─┘
  1721.  
  1722. ╔══════════════════════════════════════════════════════════════════════════════╗
  1723. ║ Add Edit/View Mailmerge Letters Reports Labels Utilities Quit                ║
  1724. ╚══════════════════════════════════════════════════════════════════════════════╝
  1725. ╔═Help Message═════════════════════════════════════════════════════════════════╗
  1726. ║ Add name to Card File.                                                       ║
  1727. ║ Edit/View Card File.                                                         ║
  1728. ║ Create/print mailmerge letters.                                              ║
  1729. ║ Print card file report.                                                      ║
  1730. ║ Print mailing labels.                                                        ║
  1731. ║ Utility menu.                                                                ║
  1732. ║ Exit to dos.                                                                 ║
  1733. ╚══════════════════════════════════════════════════════════════════════════════╝
  1734. ║                                                                              ║
  1735. ║                                                                              ║
  1736. ║                                                                              ║
  1737. ║                                                                              ║
  1738. ║                                                                              ║
  1739. ║                                                                              ║
  1740. ║                                                                              ║
  1741. ║                                                                              ║
  1742. ║                                                                              ║
  1743. ║                                                                              ║
  1744. ╚══════════════════════════════════════════════════════════════════════════════╝
  1745.  
  1746.    PRESS "H" to add help messages to your menu.
  1747.  
  1748.    PRESS "CTRL-W" to return to the menu.
  1749.  
  1750.    PRESS "C" to save our first MENU window.
  1751.  
  1752.    ENTER "MENU" for the object name, and "menu window" for the description.
  1753.  
  1754. ╔══════════════════════════════════════════════════════════════════════════════╗
  1755. ║  ____ ____ ___  ___  ____ ___ _    ____                                      ║
  1756. ║  █    █__█ █__▌ █  █ █__   █  █    █__                                       ║
  1757. ║  █___ █  █ █  █ █__█ █    _█_ █___ █___                                      ║
  1758. ║______________________________________________________________________________║
  1759. ║                                                                              ║
  1760. ║  ╔═══════════════════╗                                                       ║
  1761. ║  ║ Add               ║                                                       ║
  1762. ║  ║ Edit/View         ║                                                       ║
  1763. ║  ║ Mailmerge Letters ║                                                       ║
  1764. ║  ║ Reports           ║                                                       ║
  1765. ║  ║ Labels            ║                                                       ║
  1766. ║  ║ Utilities         ║                                                       ║
  1767. ║  ║ Quit              ║                                                       ║
  1768. ║  ╚═══════════════════╝                                                       ║
  1769. ║                                                                              ║
  1770. ║                                                                              ║
  1771. ║                                                                              ║
  1772. ║                                                                              ║
  1773. ║                                                                              ║
  1774. ║                                                                              ║
  1775. ╔═Object═════Description══════════════════════════════Startup════Quit══════════╗
  1776. ║ MENU       menu window                              ██████████ ██████████    ║
  1777. ╚══════════════════════════════════════════════════════════════════════════════╝
  1778.  
  1779.  
  1780.  
  1781.  
  1782.  
  1783.  ┌──────┐
  1784. ╔═════╗ │╔═════════════════════════════════════════════════════════════════════╗
  1785. ║ 26  ║ │║ SAMPLE PROGRAM                                                      ║
  1786. ╚═════╝─┘╚═════════════════════════════════════════════════════════════════════╝
  1787.  
  1788.       Now we can design our LOOKUP window for our program. This window will
  1789.       display a list of names from our MAILLIST database.
  1790.  
  1791.       We can scroll up and down through the list to select a name,  then we
  1792.       can press ENTER to pull up our cardfile record and view the  complete
  1793.       record at one time.
  1794.  
  1795.    PRESS "U" from the main menu to call up our utility menu.
  1796.  
  1797.    PRESS "L" to select the LOOKUP WINDOW DESIGN option.
  1798.  
  1799. ╔═Utility Menu═════════╗═══════════════════════════════════════════════════════╗
  1800. ║ Create database file ║___ ___ _    ____                                      ║
  1801. ║ Modify database file ║__   █  █    █__                                       ║
  1802. ║ Index database files ║    _█_ █___ █___                                      ║
  1803. ║ Browse window design ║_______________________________________________________║
  1804. ║█Lookup window design█║                                                       ║
  1805. ║ Pickup window design ║                                                       ║
  1806. ║ Editit window design ║                                                       ║
  1807. ║ Set values of F2 key ║                                                       ║
  1808. ║ Adam's object editor ║                                                       ║
  1809. ║ Debug current object ║                                                       ║
  1810. ║ Window object import ║                                                       ║
  1811. ║ REGULAR CODE PROGRAM ║                                                       ║
  1812. ╚══════════════════════╝                                                       ║
  1813. ║                                                                              ║
  1814. ║                                                                              ║
  1815. ║                                                                              ║
  1816. ║                                                                              ║
  1817. ║                                                                              ║
  1818. ║                                                                              ║
  1819. ║                                                                              ║
  1820. ║                                                                              ║
  1821. ║                                                                              ║
  1822. ╚══════════════════════════════════════════════════════════════════════════════╝
  1823.  
  1824.       Adam will prompt you to select the database we want to use for our
  1825.       lookup window.
  1826.  
  1827.    PRESS "ENTER" to select "MAILLIST.DBF".
  1828.  
  1829.       Next we are asked to select the index files to use for our lookup.
  1830.  
  1831.    PRESS "ENTER" to select "NAME.NTX".
  1832.  
  1833.       Adam will display a list of all the fields in our MAILLIST database,
  1834.       we can use the arrow keys to scroll up and down the list.  Each time
  1835.       we select a field from the list, the color will change and the items
  1836.       that we have selected will become inactive.
  1837.  
  1838.  
  1839.  
  1840.  
  1841.  
  1842.  
  1843.  
  1844.  
  1845.  
  1846.  
  1847.  
  1848.  
  1849.                                                                         ┌──────┐
  1850. ╔════════════════════════════════════════════════════════════════════╗ ╔═════╗ │
  1851. ║                                                     SAMPLE PROGRAM ║ ║  27 ║ │
  1852. ╚════════════════════════════════════════════════════════════════════╝ ╚═════╝─┘
  1853.  
  1854. ╔═Utility Menu═════════╗═══════════════════════════════════════════════════════╗
  1855. ║ Create database file ║___ ___ _    ____                                      ║
  1856. ║ Modify database file ║__   █  █    █__                                       ║
  1857. ║ Index database files ║    _█_ █___ █___                                      ║
  1858. ║ Browse window design ║_______________________________________________________║
  1859. ║█Lookup window design█║                                                       ║
  1860. ║ Pickup window design ║                                                       ║
  1861. ║ Editit window design ║                                                       ║
  1862. ║ Set values of F2 key ║                                                       ║
  1863. ╔═Field List══╗ editor ║                                                       ║
  1864. ║█NAME       █║ object ║                                                       ║
  1865. ║ ADDRESS     ║ import ║                                                       ║
  1866. ║ CITY        ║PROGRAM ║                                                       ║
  1867. ║ ST          ║════════╝                                                       ║
  1868. ║ ZIP         ║                                                                ║
  1869. ║ PHONE       ║                                                                ║
  1870. ║ MEMO        ║                                                                ║
  1871. ╚═════════════╝                                                                ║
  1872. ║                                                                              ║
  1873. ║                                                                              ║
  1874. ║                                                                              ║
  1875. ╚══════════════════════════════════════════════════════════════════════════════╝
  1876.  
  1877.    PRESS "ENTER" to select the "NAME" field.
  1878.  
  1879.    PRESS "ESC" to stop selecting fields.
  1880.  
  1881.       Adam will ask us for the name of a procedure we want to call when we
  1882.       press ENTER while on this field.
  1883.  
  1884.    ENTER "EDIT" for the name of the window object to call, and press ENTER
  1885.  
  1886. ╔Procedure to call before read═════════════════════════════════════════════════╗
  1887. ║EDIT                                                                          ║
  1888. ╚══════════════════════════════════════════════════════════════════════════════╝
  1889.  
  1890.    ENTER "CardFile Lookup" for the title of our lookup window.
  1891.  
  1892.    PRESS "ENTER" when done.
  1893.  
  1894. ╔Enter Title For LOOKUP Object═════════════════════════════════════════════════╗
  1895. ║CardFile Lookup                                                               ║
  1896. ╚══════════════════════════════════════════════════════════════════════════════╝
  1897.  
  1898.    PRESS "ENTER" to skip the filter question.
  1899.  
  1900. ╔Enter Filter Condition════════════════════════════════════════════════════════╗
  1901. ║                                                                              ║
  1902. ╚══════════════════════════════════════════════════════════════════════════════╝
  1903.  
  1904.    PRESS "P" to tell Adam we want this lookup to be written as a procedure.
  1905.  
  1906. ╔Write LOOKUP as Procedure or Function?════════════════════════════════════════╗
  1907. ║P                                                                             ║
  1908. ╚══════════════════════════════════════════════════════════════════════════════╝
  1909.  
  1910.  
  1911.  
  1912.  
  1913.  
  1914.  
  1915.  ┌──────┐
  1916. ╔═════╗ │╔═════════════════════════════════════════════════════════════════════╗
  1917. ║ 28  ║ │║ SAMPLE PROGRAM                                                      ║
  1918. ╚═════╝─┘╚═════════════════════════════════════════════════════════════════════╝
  1919.  
  1920. ╔═CardFile Lookup════════════════╗═════════════════════════════════════════════╗
  1921. ║ NAME                           ║   ____                                      ║
  1922. ║════════════════════════════════║   █__                                       ║
  1923. ║ ██████████████████████████████ ║__ █___                                      ║
  1924. ║ ██████████████████████████████ ║_____________________________________________║
  1925. ║ ██████████████████████████████ ║                                             ║
  1926. ║ ██████████████████████████████ ║  MOVE                                       ║
  1927. ║ ██████████████████████████████ ║  SIZE                                       ║
  1928. ║ ██████████████████████████████ ║  TEXT                                       ║
  1929. ║ ██████████████████████████████ ║  CODE                                       ║
  1930. ╚════════════════════════════════╝  WT-2                                       ║
  1931. ║  ║ Labels            ║            FORE                                       ║
  1932. ║  ║ Utilities         ║            BACK                                       ║
  1933. ║  ║ Quit              ║            HELP                                       ║
  1934. ║  ╚═══════════════════╝            PLIB                                       ║
  1935. ║                                   NOTE                                       ║
  1936. ║                                   EDIT                                       ║
  1937. ║                                   UTIL                                       ║
  1938. ║                                   QUIT                                       ║
  1939. ║                                                                              ║
  1940. ║                                                                              ║
  1941. ║                                                                              ║
  1942. ╚══════════════════════════════════════════════════════════════════════════════╝
  1943.  
  1944.       You should see your lookup window in the top left corner of your
  1945.       screen.
  1946.  
  1947.    PRESS "M" to move your lookup window to the right side of the main menu
  1948.  
  1949.    PRESS "ENTER" to return to the main menu.
  1950.  
  1951. ╔══════════════════════════════════════════════════════════════════════════════╗
  1952. ║  ____ ____ ___  ___  ____ ___ _    ____                                      ║
  1953. ║  █    █__█ █__▌ █  █ █__   █  █    █__                                       ║
  1954. ║  █___ █  █ █  █ █__█ █    _█_ █___ █___                                      ║
  1955. ║______________________________________________________________________________║
  1956. ║                                                                              ║
  1957. ║  ╔═══════════════════╗  ╔════════════════════════════════╗                   ║
  1958. ║  ║ Add               ║  ║                                ║                   ║
  1959. ║  ║ Edit/View         ║  ║                                ║                   ║
  1960. ║  ║ Mailmerge Letters ║  ║                                ║                   ║
  1961. ║  ║ Reports           ║  ║                                ║                   ║
  1962. ║  ║ Labels            ║  ║                                ║                   ║
  1963. ║  ║ Utilities         ║  ║                                ║                   ║
  1964. ║  ║ Quit              ║  ║                                ║                   ║
  1965. ║  ╚═══════════════════╝  ║                                ║                   ║
  1966. ║                         ║                                ║                   ║
  1967. ║                         ╚════════════════════════════════╝                   ║
  1968. ║                                                                              ║
  1969. ║                                                                              ║
  1970. ║                                                                              ║
  1971. ║                                                                              ║
  1972. ║                                                                              ║
  1973. ╚══════════════════════════════════════════════════════════════════════════════╝
  1974.  
  1975.  
  1976.  
  1977.  
  1978.  
  1979.  
  1980.  
  1981.                                                                         ┌──────┐
  1982. ╔════════════════════════════════════════════════════════════════════╗ ╔═════╗ │
  1983. ║                                                     SAMPLE PROGRAM ║ ║  29 ║ │
  1984. ╚════════════════════════════════════════════════════════════════════╝ ╚═════╝─┘
  1985.  
  1986. ╔══════════════════════════════════════════════════════════════════════════════╗
  1987. ║  ____ ____ ___  ___  ____ ___ _    ____                                      ║
  1988. ║  █    █__█ █__▌ █  █ █__   █  █    █__                                       ║
  1989. ║  █___ █  █ █  █ █__█ █    _█_ █___ █___                                      ║
  1990. ║______________________________________________________________________________║
  1991. ║                                                                              ║
  1992. ║  ╔═══════════════════╗  ╔════════════════════════════════╗                   ║
  1993. ║  ║ Add               ║  ║ NAME                           ║                   ║
  1994. ║  ║ Edit/View         ║  ║════════════════════════════════║                   ║
  1995. ║  ║ Mailmerge Letters ║  ║ ██████████████████████████████ ║                   ║
  1996. ║  ║ Reports           ║  ║ ██████████████████████████████ ║                   ║
  1997. ║  ║ Labels            ║  ║ ██████████████████████████████ ║                   ║
  1998. ║  ║ Utilities         ║  ║ ██████████████████████████████ ║                   ║
  1999. ║  ║ Quit              ║  ║ ██████████████████████████████ ║                   ║
  2000. ║  ╚═══════════════════╝  ║ ██████████████████████████████ ║                   ║
  2001. ║                         ║ ██████████████████████████████ ║                   ║
  2002. ║                         ║ ██████████████████████████████ ║                   ║
  2003. ║                         ║ ██████████████████████████████ ║                   ║
  2004. ║                         ║ ██████████████████████████████ ║                   ║
  2005. ║                         ║ ██████████████████████████████ ║                   ║
  2006. ║                         ╚════════════════════════════════╝                   ║
  2007. ║                                                                              ║
  2008. ║                                                                              ║
  2009. ╚══════════════════════════════════════════════════════════════════════════════╝
  2010. ╔══════════════════════════════════════════════════════════════════════════════╗
  2011. ║  ____ ____ ___  ___  ____ ___ _    ____                                      ║
  2012. ║  █    █__█ █__▌ █  █ █__   █  █    █__                                       ║
  2013. ║  █___ █  █ █  █ █__█ █    _█_ █___ █___                                      ║
  2014. ║______________________________________________________________________________║
  2015. ║                                                                              ║
  2016. ║  ╔═══════════════════╗  ╔═CardFile Lookup════════════════╗                   ║
  2017. ║  ║ Add               ║  ║ NAME                           ║                   ║
  2018. ║  ║ Edit/View         ║  ║════════════════════════════════║                   ║
  2019. ║  ║ Mailmerge Letters ║  ║ ██████████████████████████████ ║                   ║
  2020. ║  ║ Reports           ║  ║ ██████████████████████████████ ║                   ║
  2021. ║  ║ Labels            ║  ║ ██████████████████████████████ ║                   ║
  2022. ║  ║ Utilities         ║  ║ ██████████████████████████████ ║                   ║
  2023. ║  ║ Quit              ║  ║ ██████████████████████████████ ║                   ║
  2024. ║  ╚═══════════════════╝  ║ ██████████████████████████████ ║                   ║
  2025. ║                         ║ ██████████████████████████████ ║                   ║
  2026. ║                         ║ ██████████████████████████████ ║                   ║
  2027. ║                         ║ ██████████████████████████████ ║                   ║
  2028. ║                         ║ ██████████████████████████████ ║                   ║
  2029. ║                         ║ ██████████████████████████████ ║                   ║
  2030. ║                         ╚════════════════════════════════╝                   ║
  2031. ║                                                                              ║
  2032. ╔═Object═════Description═══════════════════════════════════════════════════════╗
  2033. ║ LOOK       lookup window                                                     ║
  2034. ╚══════════════════════════════════════════════════════════════════════════════╝
  2035.  
  2036.    PRESS "C" to save the lookup window.
  2037.  
  2038.    ENTER "LOOK" for the object name.
  2039.  
  2040.    ENTER "lookup window" for the object description.
  2041.  
  2042.  
  2043.  
  2044.  
  2045.  
  2046.  
  2047.  ┌──────┐
  2048. ╔═════╗ │╔═════════════════════════════════════════════════════════════════════╗
  2049. ║ 30  ║ │║ SAMPLE PROGRAM                                                      ║
  2050. ╚═════╝─┘╚═════════════════════════════════════════════════════════════════════╝
  2051.  
  2052.       Now we are ready to create our EDIT window. This window is called by
  2053.       the ADD option from the main menu and by the LOOKUP  window when the
  2054.       enter key is pressed.
  2055.  
  2056.    PRESS "S" to size our edit window.
  2057.  
  2058. ╔═══════════════════╗══════════════════════════════════════════════════════════╗
  2059. ║                   ║  ____ ___ _    ____                                      ║
  2060. ║                   ║█ █__   █  █    █__                                       ║
  2061. ║                   ║█ █    _█_ █___ █___                                      ║
  2062. ║                   ║__________________________________________________________║
  2063. ║                   ║                                                          ║
  2064. ║                   ║══╗  ╔═CardFile Lookup════════════════╗                   ║
  2065. ║                   ║  ║  ║ NAME                           ║                   ║
  2066. ║                   ║  ║  ║════════════════════════════════║                   ║
  2067. ║                   ║s ║  ║ ██████████████████████████████ ║                   ║
  2068. ╚═══════════════════╝  ║  ║ ██████████████████████████████ ║                   ║
  2069. ║  ║ Labels            ║  ║ ██████████████████████████████ ║                   ║
  2070. ║  ║ Utilities         ║  ║ ██████████████████████████████ ║                   ║
  2071. ║  ║ Quit              ║  ║ ██████████████████████████████ ║                   ║
  2072. ║  ╚═══════════════════╝  ║ ██████████████████████████████ ║                   ║
  2073. ║                         ║ ██████████████████████████████ ║                   ║
  2074. ║                         ║ ██████████████████████████████ ║                   ║
  2075. ║                         ║ ██████████████████████████████ ║                   ║
  2076. ║                         ║ ██████████████████████████████ ║                   ║
  2077. ║                         ║ ██████████████████████████████ ║                   ║
  2078. ║                         ╚════════════════════════════════╝                   ║
  2079. ║                                                                              ║
  2080. ║                                                                              ║
  2081. ╚══════════════════════════════════════════════════════════════════════════════╝
  2082.  
  2083.    PRESS "SHIFT-RIGHT ARROW" to stretch the window to the right.
  2084.  
  2085. ╔══════════════════════════════════════════════════════════════════════════════╗
  2086. ║                                                                              ║
  2087. ║                                                                              ║
  2088. ║                                                                              ║
  2089. ║                                                                              ║
  2090. ║                                                                              ║
  2091. ║                                                                              ║
  2092. ║                                                                              ║
  2093. ║                                                                              ║
  2094. ║                                                                              ║
  2095. ╚══════════════════════════════════════════════════════════════════════════════╝
  2096. ║  ║ Labels            ║  ║ ██████████████████████████████ ║                   ║
  2097. ║  ║ Utilities         ║  ║ ██████████████████████████████ ║                   ║
  2098. ║  ║ Quit              ║  ║ ██████████████████████████████ ║                   ║
  2099. ║  ╚═══════════════════╝  ║ ██████████████████████████████ ║                   ║
  2100. ║                         ║ ██████████████████████████████ ║                   ║
  2101. ║                         ║ ██████████████████████████████ ║                   ║
  2102. ║                         ║ ██████████████████████████████ ║                   ║
  2103. ║                         ║ ██████████████████████████████ ║                   ║
  2104. ║                         ║ ██████████████████████████████ ║                   ║
  2105. ║                         ╚════════════════════════════════╝                   ║
  2106. ║                                                                              ║
  2107. ║                                                                              ║
  2108. ╚══════════════════════════════════════════════════════════════════════════════╝
  2109.  
  2110.  
  2111.  
  2112.  
  2113.                                                                         ┌──────┐
  2114. ╔════════════════════════════════════════════════════════════════════╗ ╔═════╗ │
  2115. ║                                                     SAMPLE PROGRAM ║ ║  31 ║ │
  2116. ╚════════════════════════════════════════════════════════════════════╝ ╚═════╝─┘
  2117.  
  2118.    PRESS "B" eight times to change our edit window color to BLACK.
  2119.  
  2120.    PRESS "U" for the UTILITY MENU.
  2121.  
  2122. ╔═Utility Menu═════════╗═══════════════════════════════════════════════════════╗
  2123. ║ Create database file ║___ ___ _    ____                                      ║
  2124. ║ Modify database file ║__   █  █    █__                                       ║
  2125. ║ Index database files ║    _█_ █___ █___                                      ║
  2126. ║ Browse window design ║_______________________________________________________║
  2127. ║ Lookup window design ║                                                       ║
  2128. ║ Pickup window design ║  ╔═CardFile Lookup════════════════╗                   ║
  2129. ║█Editit window design█║  ║ NAME                           ║                   ║
  2130. ║ Set values of F2 key ║  ║════════════════════════════════║                   ║
  2131. ║ Adam's object editor ║  ║ ██████████████████████████████ ║                   ║
  2132. ║ Debug current object ║  ║ ██████████████████████████████ ║                   ║
  2133. ║ Window object import ║  ║ ██████████████████████████████ ║                   ║
  2134. ║ REGULAR CODE PROGRAM ║  ║ ██████████████████████████████ ║                   ║
  2135. ╚══════════════════════╝  ║ ██████████████████████████████ ║                   ║
  2136. ║                         ║ ██████████████████████████████ ║                   ║
  2137. ║                         ║ ██████████████████████████████ ║                   ║
  2138. ║                         ║ ██████████████████████████████ ║                   ║
  2139. ║                         ║ ██████████████████████████████ ║                   ║
  2140. ║                         ║ ██████████████████████████████ ║                   ║
  2141. ║                         ║ ██████████████████████████████ ║                   ║
  2142. ║                         ╚════════════════════════════════╝                   ║
  2143. ║                                                                              ║
  2144. ║                                                                              ║
  2145. ╚══════════════════════════════════════════════════════════════════════════════╝
  2146.  
  2147.    PRESS "E" to select the EDIT WINDOW DESIGN option.
  2148.  
  2149.    PRESS "ENTER" to select our example database.
  2150.  
  2151.    PRESS "ENTER" to select the NAME index file.
  2152.  
  2153.    PRESS "ESC" to tell Adam we do not want to select any other index files
  2154.  
  2155.    PRESS "E" to tell Adam to write this window object as an EDIT window.
  2156.  
  2157. ╔Write EDIT window or SAYS/GETS window?(E/SG)══════════════════════════════════╗
  2158. ║E                                                                             ║
  2159. ╚══════════════════════════════════════════════════════════════════════════════╝
  2160.  
  2161.    ENTER "CardFile Window" for the title of our edit window.
  2162.  
  2163. ╔Enter title for edit window═══════════════════════════════════════════════════╗
  2164. ║CardFile Window                                                               ║
  2165. ╚══════════════════════════════════════════════════════════════════════════════╝
  2166.  
  2167.    PRESS "ENTER" twice for no initialize or calculation procedures.
  2168.  
  2169. ╔Enter initialize procedure name═══════════════════════════════════════════════╗
  2170. ║                                                                              ║
  2171. ╚══════════════════════════════════════════════════════════════════════════════╝
  2172. ╔Enter calculation procedure name══════════════════════════════════════════════╗
  2173. ║                                                                              ║
  2174. ╚══════════════════════════════════════════════════════════════════════════════╝
  2175.  
  2176.  
  2177.  
  2178.  
  2179.  ┌──────┐
  2180. ╔═════╗ │╔═════════════════════════════════════════════════════════════════════╗
  2181. ║ 32  ║ │║ SAMPLE PROGRAM                                                      ║
  2182. ╚═════╝─┘╚═════════════════════════════════════════════════════════════════════╝
  2183.  
  2184.    PRESS "Y" to place the edit window commands on the bottom of the screen
  2185.  
  2186. ╔Place editing commands at bottom of screen?(Y/N)══════════════════════════════╗
  2187. ║Y                                                                             ║
  2188. ╚══════════════════════════════════════════════════════════════════════════════╝
  2189.  
  2190.       Now we are ready to place our fields in our EDIT window.
  2191.  
  2192.    PRESS "ENTER" to select the first field called "NAME".
  2193.  
  2194. ╔══════════════════════════════════════════════════════════════════════════════╗
  2195. ║                                                                              ║
  2196. ║                                                                              ║
  2197. ║                                                                              ║
  2198. ║                                                                              ║
  2199. ║                                                                              ║
  2200. ║                                                                              ║
  2201. ║                                                                              ║
  2202. ║                                                                              ║
  2203. ╔═Put Field═══╗                                                                ║
  2204. ║█NAME       █║════════════════════════════════════════════════════════════════╝
  2205. ║ ADDRESS     ║        ║  ║ ██████████████████████████████ ║                   ║
  2206. ║ CITY        ║        ║  ║ ██████████████████████████████ ║                   ║
  2207. ║ ST          ║        ║  ║ ██████████████████████████████ ║                   ║
  2208. ║ ZIP         ║════════╝  ║ ██████████████████████████████ ║                   ║
  2209. ║ PHONE       ║           ║ ██████████████████████████████ ║                   ║
  2210. ║ MEMO        ║           ║ ██████████████████████████████ ║                   ║
  2211. ╚═════════════╝           ║ ██████████████████████████████ ║                   ║
  2212. ║                         ║ ██████████████████████████████ ║                   ║
  2213. ║                         ║ ██████████████████████████████ ║                   ║
  2214. ║                         ╚════════════════════════════════╝                   ║
  2215. ║                                                                              ║
  2216. ║                                                                              ║
  2217. ╚══════════════════════════════════════════════════════════════════════════════╝
  2218.  
  2219.       Adam will place the field in the top right corner of our window. The
  2220.       NAME field is already in the correct position.
  2221.  
  2222.    PRESS "ENTER" to drop the "NAME" field.
  2223.  
  2224. ╔══════════════════════════════════════════════════════════════════════════════╗
  2225. ║ NAME                                                                         ║
  2226. ║ ██████████████████████████████                                               ║
  2227. ║                                                                              ║
  2228. ║                                                                              ║
  2229. ║                                                                              ║
  2230. ║                                                                              ║
  2231. ║                                                                              ║
  2232. ║                                                                              ║
  2233. ║                                                                              ║
  2234. ╚══════════════════════════════════════════════════════════════════════════════╝
  2235.  
  2236.  
  2237.  
  2238.  
  2239.  
  2240.  
  2241.  
  2242.  
  2243.  
  2244.  
  2245.                                                                         ┌──────┐
  2246. ╔════════════════════════════════════════════════════════════════════╗ ╔═════╗ │
  2247. ║                                                     SAMPLE PROGRAM ║ ║  33 ║ │
  2248. ╚════════════════════════════════════════════════════════════════════╝ ╚═════╝─┘
  2249.  
  2250. ╔══════════════════════════════════════════════════════════════════════════════╗
  2251. ║ NAME                                                                         ║
  2252. ║ ██████████████████████████████                                               ║
  2253. ║                                                                              ║
  2254. ║                                                                              ║
  2255. ║                                                                              ║
  2256. ║                                                                              ║
  2257. ║                                                                              ║
  2258. ║                                                                              ║
  2259. ║                                                                              ║
  2260. ╚══════════════════════════════════════════════════════════════════════════════╝
  2261.  
  2262.       Adam will prompt us to enter a picture template for the current field
  2263.       and a valid clause.  The only field that will need a picture template
  2264.       for our example program is "PHONE".  We can use "1-999-999-9999" when
  2265.       we select the PHONE field.
  2266.  
  2267.    PRESS "ENTER" twice to skip the picture and valid prompts.
  2268.  
  2269. ╔Enter picture template════════════════════════════════════════════════════════╗
  2270. ║                                                                              ║
  2271. ╚══════════════════════════════════════════════════════════════════════════════╝
  2272.  
  2273. ╔Enter valid clause════════════════════════════════════════════════════════════╗
  2274. ║                                                                              ║
  2275. ╚══════════════════════════════════════════════════════════════════════════════╝
  2276.  
  2277.       Continue getting fields and placing them in your window until all the
  2278.       fields have been selected.
  2279.  
  2280.       The last field which is our MEMO field will automatically get a valid
  2281.       clause, which calls one of our built in functions in the  ADAMLIB.OBJ
  2282.       file.
  2283.  
  2284.       When you have selected all the fields from the database,  your screen
  2285.       should look something like the one shown below.
  2286.  
  2287. ╔══════════════════════════════════════════════════════════════════════════════╗
  2288. ║ NAME                                                                         ║
  2289. ║ ██████████████████████████████                                               ║
  2290. ║ ADDRESS                                                                      ║
  2291. ║ ██████████████████████████████                                               ║
  2292. ║ CITY                  ST ZIP                                                 ║
  2293. ║ █████████████████████ ██ █████                                               ║
  2294. ║ PHONE                          MEMO                                          ║
  2295. ║ ██████████████                 ████                                          ║
  2296. ║                                                                              ║
  2297. ╚══════════════════════════════════════════════════════════════════════════════╝
  2298.  
  2299.    PRESS "ESC" to exit the utility menu.
  2300.  
  2301.    PRESS "S" from the main menu to size our edit window.
  2302.  
  2303.       When you have finished sizing the window it should look like the one
  2304.       on the next page.
  2305.  
  2306.  
  2307.  
  2308.  
  2309.  
  2310.  
  2311.  ┌──────┐
  2312. ╔═════╗ │╔═════════════════════════════════════════════════════════════════════╗
  2313. ║ 34  ║ │║ SAMPLE PROGRAM                                                      ║
  2314. ╚═════╝─┘╚═════════════════════════════════════════════════════════════════════╝
  2315.  
  2316. ╔═════════════════════════════════════╗════════════════════════════════════════╗
  2317. ║ NAME                                ║__                                      ║
  2318. ║ ██████████████████████████████      ║_                                       ║
  2319. ║ ADDRESS                             ║__                                      ║
  2320. ║ ██████████████████████████████      ║________________________________________║
  2321. ║ CITY                  ST ZIP        ║                                        ║
  2322. ║ █████████████████████ ██ █████      ║okup════════════════╗                   ║
  2323. ║ PHONE                          MEMO ║                    ║                   ║
  2324. ║ ██████████████                 ████ ║════════════════════║                   ║
  2325. ╚═════════════════════════════════════╝███████████████████ ║                   ║
  2326. ║  ║ Reports           ║  ║ ██████████████████████████████ ║                   ║
  2327. ║  ║ Labels            ║  ║ ██████████████████████████████ ║                   ║
  2328. ║  ║ Utilities         ║  ║ ██████████████████████████████ ║                   ║
  2329. ║  ║ Quit              ║  ║ ██████████████████████████████ ║                   ║
  2330. ║  ╚═══════════════════╝  ║ ██████████████████████████████ ║                   ║
  2331. ║                         ║ ██████████████████████████████ ║                   ║
  2332. ║                         ║ ██████████████████████████████ ║                   ║
  2333. ║                         ║ ██████████████████████████████ ║                   ║
  2334. ║                         ║ ██████████████████████████████ ║                   ║
  2335. ║                         ║ ██████████████████████████████ ║                   ║
  2336. ║                         ╚════════════════════════════════╝                   ║
  2337. ║                                                                              ║
  2338. ║                                                                              ║
  2339. ╚══════════════════════════════════════════════════════════════════════════════╝
  2340.  
  2341.    PRESS "ENTER" to return to the main menu.
  2342.  
  2343.    PRESS "M" to position the EDIT window in the bottom right corner.
  2344.  
  2345. ╔══════════════════════════════════════════════════════════════════════════════╗
  2346. ║  ____ ____ ___  ___  ____ ___ _    ____                                      ║
  2347. ║  █    █__█ █__▌ █  █ █__   █  █    █__                                       ║
  2348. ║  █___ █  █ █  █ █__█ █    _█_ █___ █___                                      ║
  2349. ║______________________________________________________________________________║
  2350. ║                                                                              ║
  2351. ║  ╔═══════════════════╗  ╔═CardFile Lookup════════════════╗                   ║
  2352. ║  ║ Add               ║  ║ NAME                           ║                   ║
  2353. ║  ║ Edit/View         ║  ║════════════════════════════════║                   ║
  2354. ║  ║ Mailmerge Letters ║  ║ ██████████████████████████████ ║                   ║
  2355. ║  ║ Reports           ║  ║ ██████████████████████████████ ║                   ║
  2356. ║  ║ Labels            ║  ║ ██████████████████████████████ ║                   ║
  2357. ║  ║ Utilities         ║  ║ ██████████████████████████████ ║                   ║
  2358. ║  ║ Quit              ║  ║ ██████████╔═════════════════════════════════════╗  ║
  2359. ║  ╚═══════════════════╝  ║ ██████████║ NAME                                ║  ║
  2360. ║                         ║ ██████████║ ██████████████████████████████      ║  ║
  2361. ║                         ║ ██████████║ ADDRESS                             ║  ║
  2362. ║                         ║ ██████████║ ██████████████████████████████      ║  ║
  2363. ║                         ║ ██████████║ CITY                  ST ZIP        ║  ║
  2364. ║                         ║ ██████████║ █████████████████████ ██ █████      ║  ║
  2365. ║                         ╚═══════════║ PHONE                          MEMO ║  ║
  2366. ║                                     ║ ██████████████                 ████ ║  ║
  2367. ║                                     ╚═════════════════════════════════════╝  ║
  2368. ╚══════════════════════════════════════════════════════════════════════════════╝
  2369.  
  2370.    PRESS "ENTER" to return to the main menu.
  2371.  
  2372.  
  2373.  
  2374.  
  2375.  
  2376.  
  2377.                                                                         ┌──────┐
  2378. ╔════════════════════════════════════════════════════════════════════╗ ╔═════╗ │
  2379. ║                                                     SAMPLE PROGRAM ║ ║  35 ║ │
  2380. ╚════════════════════════════════════════════════════════════════════╝ ╚═════╝─┘
  2381.  
  2382. ╔══════════════════════════════════════════════════════════════════════════════╗
  2383. ║  ____ ____ ___  ___  ____ ___ _    ____                                      ║
  2384. ║  █    █__█ █__▌ █  █ █__   █  █    █__                                       ║
  2385. ║  █___ █  █ █  █ █__█ █    _█_ █___ █___                                      ║
  2386. ║______________________________________________________________________________║
  2387. ║                                                                              ║
  2388. ║  ╔═══════════════════╗  ╔═CardFile Lookup════════════════╗                   ║
  2389. ║  ║ Add               ║  ║ NAME                           ║                   ║
  2390. ║  ║ Edit/View         ║  ║════════════════════════════════║                   ║
  2391. ║  ║ Mailmerge Letters ║  ║ ██████████████████████████████ ║                   ║
  2392. ║  ║ Reports           ║  ║ ██████████████████████████████ ║                   ║
  2393. ║  ║ Labels            ║  ║ ██████████████████████████████ ║                   ║
  2394. ║  ║ Utilities         ║  ║ ██████████████████████████████ ║                   ║
  2395. ║  ║ Quit              ║  ║ ██████████╔═CardFile Window═════════════════════╗  ║
  2396. ║  ╚═══════════════════╝  ║ ██████████║ NAME                                ║  ║
  2397. ║                         ║ ██████████║ ██████████████████████████████      ║  ║
  2398. ║                         ║ ██████████║ ADDRESS                             ║  ║
  2399. ║                         ║ ██████████║ ██████████████████████████████      ║  ║
  2400. ║                         ║ ██████████║ CITY                  ST ZIP        ║  ║
  2401. ║                         ║ ██████████║ █████████████████████ ██ █████      ║  ║
  2402. ║                         ╚═══════════║ PHONE                          MEMO ║  ║
  2403. ║                                     ║ ██████████████                 ████ ║  ║
  2404. ╔═Object═════Description═══════════════════════════════════════════════════════╗
  2405. ║ EDIT       edit window                                                       ║
  2406. ╚══════════════════════════════════════════════════════════════════════════════╝
  2407.  
  2408.    PRESS "C" to save the EDIT window.
  2409.  
  2410.    ENTER "EDIT" for the object name, and press ENTER.
  2411.  
  2412.    ENTER "edit window" for the description, and press ENTER.
  2413.  
  2414. ╔══════╗═══════════════════════════════════════════════════════════════════════╗
  2415. ║ MOVE ║____ ___  ___  ____ ___ _    ____                                      ║
  2416. ║ SIZE ║█__█ █__▌ █  █ █__   █  █    █__                                       ║
  2417. ║ FORE ║█  █ █  █ █__█ █    _█_ █___ █___                                      ║
  2418. ║ BACK ║_______________________________________________________________________║
  2419. ╚══════╝                                                                       ║
  2420. ║  ╔═══════════════════╗  ╔═CardFile Lookup════════════════╗                   ║
  2421. ║  ║ Add               ║  ║ NAME                           ║                   ║
  2422. ║  ║ Edit/View         ║  ║════════════════════════════════║                   ║
  2423. ║  ║ Mailmerge Letters ║  ║ ██████████████████████████████ ║                   ║
  2424. ║  ║ Reports           ║  ║ ██████████████████████████████ ║                   ║
  2425. ║  ║ Labels            ║  ║ ██████████████████████████████ ║                   ║
  2426. ║  ║ Utilities         ║  ║ ██████████████████████████████ ║                   ║
  2427. ║  ║ Quit              ║  ║ ██████████╔═CardFile Window═════════════════════╗  ║
  2428. ║  ╚═══════════════════╝  ║ ██████████║ NAME                                ║  ║
  2429. ║                         ║ ██████████║ ██████████████████████████████      ║  ║
  2430. ║ ╔══════════════════════════════════════════════════════════════════════════╗ ║
  2431. ║ ║                                                                          ║ ║
  2432. ║ ║    THIS IS YOUR MEMO EDIT WINDOW. USE THE MINIATURE ADAM MENU TO SIZE    ║ ║
  2433. ║ ║    THE WINDOW AND POSITION IT ON THE SCREEN.  YOU SHOULD KNOW HOW THE    ║ ║
  2434. ║ ║    COMMANDS IN ADAM WORK TO TRY THIS ON YOUR OWN... PRESS ESC TO EXIT    ║ ║
  2435. ║ ║                                                                          ║ ║
  2436. ╔═║                                                                          ║═╗
  2437. ║ ╚══════════════════════════════════════════════════════════════════════════╝ ║
  2438. ╚══════════════════════════════════════════════════════════════════════════════╝
  2439.  
  2440.  
  2441.  
  2442.  
  2443.  ┌──────┐
  2444. ╔═════╗ │╔═════════════════════════════════════════════════════════════════════╗
  2445. ║ 36  ║ │║ SAMPLE PROGRAM                                                      ║
  2446. ╚═════╝─┘╚═════════════════════════════════════════════════════════════════════╝
  2447.  
  2448.       Now you're ready to try doing the utility menu on your own.   Follow
  2449.       the example screens on the next pages, and see how easy it is.
  2450.  
  2451. ╔══════════════════════════════════════════════════════════════════════════════╗
  2452. ║  ____ ____ ___  ___  ____ ___ _    ____                                      ║
  2453. ║  █    █__█ █__▌ █  █ █__   █  █    █__                                       ║
  2454. ║  █___ █  █ █  █ █__█ █    _█_ █___ █___                                      ║
  2455. ║______________________________________________________________________________║
  2456. ║                                                                              ║
  2457. ║  ╔═══════════════════╗  ╔═CardFile Lookup════════════════╗                   ║
  2458. ║  ║ Add               ║  ║ NAME                           ║                   ║
  2459. ║  ║ Edit/View         ║  ║════════════════════════════════║                   ║
  2460. ║  ║ Mailmerge Letters ║  ║ ██████████████████████████████ ║                   ║
  2461. ║  ║ Reports           ║  ║ ██████████████████████████████ ║                   ║
  2462. ║  ║ Labels            ║  ║ ██████████████████████████████ ║                   ║
  2463. ║  ║ Utilities         ║  ║ ██████████████████████████████ ║                   ║
  2464. ║  ║ Quit     ╔══════════════════╗████╔═CardFile Window═════════════════════╗  ║
  2465. ║  ╚══════════║ Backup Card File ║████║ NAME                                ║  ║
  2466. ║             ║ Printer Setup    ║████║ ██████████████████████████████      ║  ║
  2467. ║             ║ Calendar         ║████║ ADDRESS                             ║  ║
  2468. ║             ║ DosAccess        ║████║ ██████████████████████████████      ║  ║
  2469. ║             ╚══════════════════╝████║ CITY                  ST ZIP        ║  ║
  2470. ║                         ║ ██████████║ █████████████████████ ██ █████      ║  ║
  2471. ║                         ╚═══════════║ PHONE                          MEMO ║  ║
  2472. ║                                     ║ ██████████████                 ████ ║  ║
  2473. ║                                     ╚═════════════════════════════════════╝  ║
  2474. ╚══════════════════════════════════════════════════════════════════════════════╝
  2475.  
  2476. ╔══════════════════════════════════════════════════════════════════════════════╗
  2477. ║ Backup Card File Printer Setup Calendar DosAccess                            ║
  2478. ╚══════════════════════════════════════════════════════════════════════════════╝
  2479. ╔Backup Card File══════════════════════════════════════════════════════════════╗
  2480. ║                                                                              ║
  2481. ║                                                                              ║
  2482. ║                                                                              ║
  2483. ║                                                                              ║
  2484. ╚═══Procedure Library - Press F1 For Object Library - Press Ctrl/W To Exit═════╝
  2485. ║  ║ Mailmerge Letters ║  ║ ██████████████████████████████ ║  ╔═Objects════════╗
  2486. ║  ║ Reports           ║  ║ ██████████████████████████████ ║  ║ ADAMLIBA.OBJ √ ║
  2487. ║  ║ Labels            ║  ║ ██████████████████████████████ ║  ║ TABLE.OBJ      ║
  2488. ║  ║ Utilities         ║  ║ ██████████████████████████████ ║  ║ REPORT.OBJ   √ ║
  2489. ║  ║ Quit     ╔══════════════════╗████╔═CardFile Window═══════║ PRINTER.OBJ  √ ║
  2490. ║  ╚══════════║ Backup Card File ║████║ NAME                  ║ PACKFILE.OBJ   ║
  2491. ║             ║ Printer Setup    ║████║ ██████████████████████║ LABELS.OBJ   √ ║
  2492. ║             ║ Calendar         ║████║ ADDRESS               ║ INVOICE.OBJ    ║
  2493. ║             ║ DosAccess        ║████║ ██████████████████████║ USERHELP.OBJ   ║
  2494. ║             ╚══════════════════╝████║ CITY                  ║ POPCAL.OBJ     ║
  2495. ║                         ║ ██████████║ █████████████████████ ║ DCODE.OBJ      ║
  2496. ║                         ╚═══════════║ PHONE                 ║ LETTERS.OBJ  √ ║
  2497. ║                                     ║ ██████████████        ║█BACKUP.OBJ   √█║
  2498. ║                                     ╚═══════════════════════║ MULTUSER.OBJ √ ║
  2499. ╚═════════════════════════════════════════════════════════════║ ADAMLIBB.OBJ √ ║
  2500.                                                               ╚════════════════╝
  2501.  
  2502.  
  2503.  
  2504.  
  2505.  
  2506.  
  2507.  
  2508.  
  2509.                                                                         ┌──────┐
  2510. ╔════════════════════════════════════════════════════════════════════╗ ╔═════╗ │
  2511. ║                                                     SAMPLE PROGRAM ║ ║  37 ║ │
  2512. ╚════════════════════════════════════════════════════════════════════╝ ╚═════╝─┘
  2513.  
  2514. ╔══════════════════════════════════════════════════════════════════════════════╗
  2515. ║ Backup Card File Printer Setup Calendar DosAccess                            ║
  2516. ╚══════════════════════════════════════════════════════════════════════════════╝
  2517. ╔Backup Card File══════════════════════════════════════════════════════════════╗
  2518. ║                                                                              ║
  2519. ║                                                                              ║
  2520. ║                                                                              ║
  2521. ║                                                                              ║
  2522. ╚═══Procedure Library - Press F1 For Object Library - Press Ctrl/W To Exit═════╝
  2523. ╔═Backup DBF════╗tters ║  ║ ██████████████████████████████ ║  ╔═Objects════════╗
  2524. ║█MAILLIST.DBF █║      ║  ║ ██████████████████████████████ ║  ║ ADAMLIBA.OBJ √ ║
  2525. ╚═══════════════╝      ║  ║ ██████████████████████████████ ║  ║ TABLE.OBJ      ║
  2526. ║  ║ Utilities         ║  ║ ██████████████████████████████ ║  ║ REPORT.OBJ   √ ║
  2527. ║  ║ Quit     ╔══════════════════╗████╔═CardFile Window═══════║ PRINTER.OBJ  √ ║
  2528. ║  ╚══════════║ Backup Card File ║████║ NAME                  ║ PACKFILE.OBJ   ║
  2529. ║             ║ Printer Setup    ║████║ ██████████████████████║ LABELS.OBJ   √ ║
  2530. ║             ║ Calendar         ║████║ ADDRESS               ║ INVOICE.OBJ    ║
  2531. ║             ║ DosAccess        ║████║ ██████████████████████║ USERHELP.OBJ   ║
  2532. ║             ╚══════════════════╝████║ CITY                  ║ POPCAL.OBJ     ║
  2533. ║                         ║ ██████████║ █████████████████████ ║ DCODE.OBJ      ║
  2534. ║                         ╚═══════════║ PHONE                 ║ LETTERS.OBJ  √ ║
  2535. ║                                     ║ ██████████████        ║█BACKUP.OBJ   √█║
  2536. ║                                     ╚═══════════════════════║ MULTUSER.OBJ √ ║
  2537. ╚═════════════════════════════════════════════════════════════║ ADAMLIBB.OBJ √ ║
  2538.                                                               ╚════════════════╝
  2539.  
  2540. ╔══════════════════════════════════════════════════════════════════════════════╗
  2541. ║ Backup Card File Printer Setup Calendar DosAccess                            ║
  2542. ╚══════════════════════════════════════════════════════════════════════════════╝
  2543. ╔Backup Card File══════════════════════════════════════════════════════════════╗
  2544. ║DO backup WITH "MAILLIST","W+/BG "                                            ║
  2545. ║                                                                              ║
  2546. ║                                                                              ║
  2547. ║                                                                              ║
  2548. ╚═══Procedure Library - Press F1 For Object Library - Press Ctrl/W To Exit═════╝
  2549. ║  ║ Mailmerge Letters ║  ║ ██████████████████████████████ ║                   ║
  2550. ║  ║ Reports           ║  ║ ██████████████████████████████ ║                   ║
  2551. ║  ║ Labels            ║  ║ ██████████████████████████████ ║                   ║
  2552. ║  ║ Utilities         ║  ║ ██████████████████████████████ ║                   ║
  2553. ║  ║ Quit     ╔══════════════════╗████╔═CardFile Window═════════════════════╗  ║
  2554. ║  ╚══════════║ Backup Card File ║████║ NAME                                ║  ║
  2555. ║             ║ Printer Setup    ║████║ ██████████████████████████████      ║  ║
  2556. ║             ║ Calendar         ║████║ ADDRESS                             ║  ║
  2557. ║             ║ DosAccess        ║████║ ██████████████████████████████      ║  ║
  2558. ║             ╚══════════════════╝████║ CITY                  ST ZIP        ║  ║
  2559. ║                         ║ ██████████║ █████████████████████ ██ █████      ║  ║
  2560. ║                         ╚═══════════║ PHONE                          MEMO ║  ║
  2561. ║                                     ║ ██████████████                 ████ ║  ║
  2562. ║                                     ╚═════════════════════════════════════╝  ║
  2563. ╚══════════════════════════════════════════════════════════════════════════════╝
  2564.  
  2565.  
  2566.  
  2567.  
  2568.  
  2569.  
  2570.  
  2571.  
  2572.  
  2573.  
  2574.  
  2575.  ┌──────┐
  2576. ╔═════╗ │╔═════════════════════════════════════════════════════════════════════╗
  2577. ║ 38  ║ │║ SAMPLE PROGRAM                                                      ║
  2578. ╚═════╝─┘╚═════════════════════════════════════════════════════════════════════╝
  2579.  
  2580. ╔══════════════════════════════════════════════════════════════════════════════╗
  2581. ║ Backup Card File Printer Setup Calendar DosAccess                            ║
  2582. ╚══════════════════════════════════════════════════════════════════════════════╝
  2583. ╔Printer Setup═════════════════════════════════════════════════════════════════╗
  2584. ║                                                                              ║
  2585. ║                                                                              ║
  2586. ║                                                                              ║
  2587. ║                                                                              ║
  2588. ╚═══Procedure Library - Press F1 For Object Library - Press Ctrl/W To Exit═════╝
  2589. ║  ║ Mailmerge Letters ║  ║ ██████████████████████████████ ║  ╔═Objects════════╗
  2590. ║  ║ Reports           ║  ║ ██████████████████████████████ ║  ║ ADAMLIBA.OBJ √ ║
  2591. ║  ║ Labels            ║  ║ ██████████████████████████████ ║  ║ TABLE.OBJ      ║
  2592. ║  ║ Utilities         ║  ║ ██████████████████████████████ ║  ║ REPORT.OBJ   √ ║
  2593. ║  ║ Quit     ╔══════════════════╗████╔═CardFile Window═══════║█PRINTER.OBJ  √█║
  2594. ║  ╚══════════║ Backup Card File ║████║ NAME                  ║ PACKFILE.OBJ   ║
  2595. ║             ║ Printer Setup    ║████║ ██████████████████████║ LABELS.OBJ   √ ║
  2596. ║             ║ Calendar         ║████║ ADDRESS               ║ INVOICE.OBJ    ║
  2597. ║             ║ DosAccess        ║████║ ██████████████████████║ USERHELP.OBJ   ║
  2598. ║             ╚══════════════════╝████║ CITY                  ║ POPCAL.OBJ     ║
  2599. ║                         ║ ██████████║ █████████████████████ ║ DCODE.OBJ      ║
  2600. ║                         ╚═══════════║ PHONE                 ║ LETTERS.OBJ  √ ║
  2601. ║                                     ║ ██████████████        ║ BACKUP.OBJ   √ ║
  2602. ║                                     ╚═══════════════════════║ MULTUSER.OBJ √ ║
  2603. ╚═════════════════════════════════════════════════════════════║ ADAMLIBB.OBJ √ ║
  2604.                                                               ╚════════════════╝
  2605.  
  2606. ╔══════════════════════════════════════════════════════════════════════════════╗
  2607. ║ Backup Card File Printer Setup Calendar DosAccess                            ║
  2608. ╚══════════════════════════════════════════════════════════════════════════════╝
  2609. ╔Printer Setup═════════════════════════════════════════════════════════════════╗
  2610. ║DO printer                                                                    ║
  2611. ║                                                                              ║
  2612. ║                                                                              ║
  2613. ║                                                                              ║
  2614. ╚═══Procedure Library - Press F1 For Object Library - Press Ctrl/W To Exit═════╝
  2615. ║  ║ Mailmerge Letters ║  ║ ██████████████████████████████ ║                   ║
  2616. ║  ║ Reports           ║  ║ ██████████████████████████████ ║                   ║
  2617. ║  ║ Labels            ║  ║ ██████████████████████████████ ║                   ║
  2618. ║  ║ Utilities         ║  ║ ██████████████████████████████ ║                   ║
  2619. ║  ║ Quit     ╔══════════════════╗████╔═CardFile Window═════════════════════╗  ║
  2620. ║  ╚══════════║ Backup Card File ║████║ NAME                                ║  ║
  2621. ║             ║ Printer Setup    ║████║ ██████████████████████████████      ║  ║
  2622. ║             ║ Calendar         ║████║ ADDRESS                             ║  ║
  2623. ║             ║ DosAccess        ║████║ ██████████████████████████████      ║  ║
  2624. ║             ╚══════════════════╝████║ CITY                  ST ZIP        ║  ║
  2625. ║                         ║ ██████████║ █████████████████████ ██ █████      ║  ║
  2626. ║                         ╚═══════════║ PHONE                          MEMO ║  ║
  2627. ║                                     ║ ██████████████                 ████ ║  ║
  2628. ║                                     ╚═════════════════════════════════════╝  ║
  2629. ╚══════════════════════════════════════════════════════════════════════════════╝
  2630.  
  2631.  
  2632.  
  2633.  
  2634.  
  2635.  
  2636.  
  2637.  
  2638.  
  2639.  
  2640.  
  2641.                                                                         ┌──────┐
  2642. ╔════════════════════════════════════════════════════════════════════╗ ╔═════╗ │
  2643. ║                                                     SAMPLE PROGRAM ║ ║  39 ║ │
  2644. ╚════════════════════════════════════════════════════════════════════╝ ╚═════╝─┘
  2645.  
  2646. ╔══════════════════════════════════════════════════════════════════════════════╗
  2647. ║ Backup Card File Printer Setup Calendar DosAccess                            ║
  2648. ╚══════════════════════════════════════════════════════════════════════════════╝
  2649. ╔Calendar══════════════════════════════════════════════════════════════════════╗
  2650. ║                                                                              ║
  2651. ║                                                                              ║
  2652. ║                                                                              ║
  2653. ║                                                                              ║
  2654. ╚═══Procedure Library - Press F1 For Object Library - Press Ctrl/W To Exit═════╝
  2655. ║  ║ Mailmerge Letters ║  ║ ██████████████████████████████ ║  ╔═Objects════════╗
  2656. ║  ║ Reports           ║  ║ ██████████████████████████████ ║  ║ ADAMLIBA.OBJ √ ║
  2657. ║  ║ Labels            ║  ║ ██████████████████████████████ ║  ║ TABLE.OBJ      ║
  2658. ║  ║ Utilities         ║  ║ ██████████████████████████████ ║  ║ REPORT.OBJ   √ ║
  2659. ║  ║ Quit     ╔══════════════════╗████╔═CardFile Window═══════║ PRINTER.OBJ  √ ║
  2660. ║  ╚══════════║ Backup Card File ║████║ NAME                  ║ PACKFILE.OBJ   ║
  2661. ║             ║ Printer Setup    ║████║ ██████████████████████║ LABELS.OBJ   √ ║
  2662. ║             ║ Calendar         ║████║ ADDRESS               ║ INVOICE.OBJ    ║
  2663. ║             ║ DosAccess        ║████║ ██████████████████████║ USERHELP.OBJ   ║
  2664. ║             ╚══════════════════╝████║ CITY                  ║█POPCAL.OBJ    █║
  2665. ║                         ║ ██████████║ █████████████████████ ║ DCODE.OBJ      ║
  2666. ║                         ╚═══════════║ PHONE                 ║ LETTERS.OBJ  √ ║
  2667. ║                                     ║ ██████████████        ║ BACKUP.OBJ   √ ║
  2668. ║                                     ╚═══════════════════════║ MULTUSER.OBJ √ ║
  2669. ╚═════════════════════════════════════════════════════════════║ ADAMLIBB.OBJ √ ║
  2670.                                                               ╚════════════════╝
  2671.  
  2672. ╔══════════════════════════════════════════════════════════════════════════════╗
  2673. ║ Backup Card File Printer Setup Calendar DosAccess                            ║
  2674. ╚══════════════════════════════════════════════════════════════════════════════╝
  2675. ╔Calendar══════════════════════════════════════════════════════════════════════╗
  2676. ║DO popcal                                                                     ║
  2677. ║                                                                              ║
  2678. ║                                                                              ║
  2679. ║                                                                              ║
  2680. ╚═══Procedure Library - Press F1 For Object Library - Press Ctrl/W To Exit═════╝
  2681. ║  ║ Mailmerge Letters ║  ║ ██████████████████████████████ ║                   ║
  2682. ║  ║ Reports           ║  ║ ██████████████████████████████ ║                   ║
  2683. ║  ║ Labels            ║  ║ ██████████████████████████████ ║                   ║
  2684. ║  ║ Utilities         ║  ║ ██████████████████████████████ ║                   ║
  2685. ║  ║ Quit     ╔══════════════════╗████╔═CardFile Window═════════════════════╗  ║
  2686. ║  ╚══════════║ Backup Card File ║████║ NAME                                ║  ║
  2687. ║             ║ Printer Setup    ║████║ ██████████████████████████████      ║  ║
  2688. ║             ║ Calendar         ║████║ ADDRESS                             ║  ║
  2689. ║             ║ DosAccess        ║████║ ██████████████████████████████      ║  ║
  2690. ║             ╚══════════════════╝████║ CITY                  ST ZIP        ║  ║
  2691. ║                         ║ ██████████║ █████████████████████ ██ █████      ║  ║
  2692. ║                         ╚═══════════║ PHONE                          MEMO ║  ║
  2693. ║                                     ║ ██████████████                 ████ ║  ║
  2694. ║                                     ╚═════════════════════════════════════╝  ║
  2695. ╚══════════════════════════════════════════════════════════════════════════════╝
  2696.  
  2697.  
  2698.  
  2699.  
  2700.  
  2701.  
  2702.  
  2703.  
  2704.  
  2705.  
  2706.  
  2707.  ┌──────┐
  2708. ╔═════╗ │╔═════════════════════════════════════════════════════════════════════╗
  2709. ║ 40  ║ │║ SAMPLE PROGRAM                                                      ║
  2710. ╚═════╝─┘╚═════════════════════════════════════════════════════════════════════╝
  2711.  
  2712. ╔══════════════════════════════════════════════════════════════════════════════╗
  2713. ║ Backup Card File Printer Setup Calendar DosAccess                            ║
  2714. ╚══════════════════════════════════════════════════════════════════════════════╝
  2715. ╔DosAccess═════════════════════════════════════════════════════════════════════╗
  2716. ║DO dos                                                                        ║
  2717. ║                                                                              ║
  2718. ║                                                                              ║
  2719. ║                                                                              ║
  2720. ╚═══Procedure Library - Press F1 For Object Library - Press Ctrl/W To Exit═════╝
  2721. ║  ║ Mailmerge Letters ║  ║ ██████████████████████████████ ║                   ║
  2722. ║  ║ Reports           ║  ║ ██████████████████████████████ ║                   ║
  2723. ║  ║ Labels            ║  ║ ██████████████████████████████ ║                   ║
  2724. ║  ║ Utilities         ║  ║ ██████████████████████████████ ║                   ║
  2725. ║  ║ Quit     ╔══════════════════╗████╔═CardFile Window═════════════════════╗  ║
  2726. ║  ╚══════════║ Backup Card File ║████║ NAME                                ║  ║
  2727. ║             ║ Printer Setup    ║████║ ██████████████████████████████      ║  ║
  2728. ║             ║ Calendar         ║████║ ADDRESS                             ║  ║
  2729. ║             ║ DosAccess        ║████║ ██████████████████████████████      ║  ║
  2730. ║             ╚══════════════════╝████║ CITY                  ST ZIP        ║  ║
  2731. ║                         ║ ██████████║ █████████████████████ ██ █████      ║  ║
  2732. ║                         ╚═══════════║ PHONE                          MEMO ║  ║
  2733. ║                                     ║ ██████████████                 ████ ║  ║
  2734. ║                                     ╚═════════════════════════════════════╝  ║
  2735. ╚══════════════════════════════════════════════════════════════════════════════╝
  2736.  
  2737.  
  2738. ╔══════════════════════════════════════════════════════════════════════════════╗
  2739. ║ Backup Card File Printer Setup Calendar DosAccess                            ║
  2740. ╚══════════════════════════════════════════════════════════════════════════════╝
  2741. ╔═Help Message═════════════════════════════════════════════════════════════════╗
  2742. ║ Backup card file database.                                                   ║
  2743. ║ Setup print codes.                                                           ║
  2744. ║ Popup calendar                                                               ║
  2745. ║ Exit to dos                                                                  ║
  2746. ╚══════════════════════════════════════════════════════════════════════════════╝
  2747. ║  ║ Mailmerge Letters ║  ║ ██████████████████████████████ ║                   ║
  2748. ║  ║ Reports           ║  ║ ██████████████████████████████ ║                   ║
  2749. ║  ║ Labels            ║  ║ ██████████████████████████████ ║                   ║
  2750. ║  ║ Utilities         ║  ║ ██████████████████████████████ ║                   ║
  2751. ║  ║ Quit              ║  ║ ██████████╔═CardFile Window═════════════════════╗  ║
  2752. ║  ╚═══════════════════╝  ║ ██████████║ NAME                                ║  ║
  2753. ║                         ║ ██████████║ ██████████████████████████████      ║  ║
  2754. ║                         ║ ██████████║ ADDRESS                             ║  ║
  2755. ║                         ║ ██████████║ ██████████████████████████████      ║  ║
  2756. ║                         ║ ██████████║ CITY                  ST ZIP        ║  ║
  2757. ║                         ║ ██████████║ █████████████████████ ██ █████      ║  ║
  2758. ║                         ╚═══════════║ PHONE                          MEMO ║  ║
  2759. ║                                     ║ ██████████████                 ████ ║  ║
  2760. ║                                     ╚═════════════════════════════════════╝  ║
  2761. ╚══════════════════════════════════════════════════════════════════════════════╝
  2762.  
  2763.  
  2764.  
  2765.  
  2766.  
  2767.  
  2768.  
  2769.  
  2770.  
  2771.  
  2772.  
  2773.                                                                         ┌──────┐
  2774. ╔════════════════════════════════════════════════════════════════════╗ ╔═════╗ │
  2775. ║                                                     SAMPLE PROGRAM ║ ║  41 ║ │
  2776. ╚════════════════════════════════════════════════════════════════════╝ ╚═════╝─┘
  2777.  
  2778. ╔══════════════════════════════════════════════════════════════════════════════╗
  2779. ║  ____ ____ ___  ___  ____ ___ _    ____                                      ║
  2780. ║  █    █__█ █__▌ █  █ █__   █  █    █__                                       ║
  2781. ║  █___ █  █ █  █ █__█ █    _█_ █___ █___                                      ║
  2782. ║______________________________________________________________________________║
  2783. ║                                                                              ║
  2784. ║  ╔═══════════════════╗  ╔═CardFile Lookup════════════════╗                   ║
  2785. ║  ║ Add               ║  ║ NAME                           ║                   ║
  2786. ║  ║ Edit/View         ║  ║════════════════════════════════║                   ║
  2787. ║  ║ Mailmerge Letters ║  ║ ██████████████████████████████ ║                   ║
  2788. ║  ║ Reports           ║  ║ ██████████████████████████████ ║                   ║
  2789. ║  ║ Labels            ║  ║ ██████████████████████████████ ║                   ║
  2790. ║  ║ Utilities         ║  ║ ██████████████████████████████ ║                   ║
  2791. ║  ║ Quit     ╔══════════════════╗████╔═CardFile Window═════════════════════╗  ║
  2792. ║  ╚══════════║ Backup Card File ║████║ NAME                                ║  ║
  2793. ║             ║ Printer Setup    ║████║ ██████████████████████████████      ║  ║
  2794. ║             ║ Calendar         ║████║ ADDRESS                             ║  ║
  2795. ║             ║ DosAccess        ║████║ ██████████████████████████████      ║  ║
  2796. ║             ╚══════════════════╝████║ CITY                  ST ZIP        ║  ║
  2797. ║                         ║ ██████████║ █████████████████████ ██ █████      ║  ║
  2798. ║                         ╚═══════════║ PHONE                          MEMO ║  ║
  2799. ║                                     ║ ██████████████                 ████ ║  ║
  2800. ╔═Object═════Description═══════════════════════════════════════════════════════╗
  2801. ║ UTIL       utility menu                                                      ║
  2802. ╚══════════════════════════════════════════════════════════════════════════════╝
  2803.  
  2804.  
  2805.       If you made it this far you have a pretty good understanding of how
  2806.       ADAM works. Keep experimenting with ADAM you'll be surprised at the
  2807.       different type of programs that ADAM can generate.
  2808.  
  2809.       Adam's  capabilities go far beyond what we can show  in this sample
  2810.       program. It is powerful enough to create complete invoicing systems
  2811.       using multiple database files.
  2812.  
  2813.       Anything that can be hand written by a professional  programmer can
  2814.       be done with Adam, only faster!  All there is left to do, is to let
  2815.       Adam write your program for you.
  2816.  
  2817.    PRESS "Q" to exit Adam.
  2818.  
  2819.    PRESS "Y" to generate the program file.
  2820.  
  2821.    ENTER "your name here" for the author, after all you did help a little
  2822.  
  2823.  
  2824.  
  2825. ╔Write program file(Y/N)?══════════════════════════════════════════════════════╗
  2826. ║Y                                                                             ║
  2827. ╚══════════════════════════════════════════════════════════════════════════════╝
  2828.  
  2829. ╔Enter Author(s) Name══════════════════════════════════════════════════════════╗
  2830. ║Your Name Here                                                                ║
  2831. ╚══════════════════════════════════════════════════════════════════════════════╝
  2832.  
  2833.       Now just sit back and watch Adam work!
  2834.  
  2835.  
  2836.  
  2837.  
  2838.  
  2839.  ┌──────┐
  2840. ╔═════╗ │╔═════════════════════════════════════════════════════════════════════╗
  2841. ║  42 ║ │║ ANIMATION                                                           ║
  2842. ╚═════╝─┘╚═════════════════════════════════════════════════════════════════════╝
  2843.  
  2844.       Animation is accomplished by creating a TEXT window object and in-
  2845.       serting a graphic drawing inside the window, then saving the shape
  2846.       and going back into text mode to alter the drawing or move it just
  2847.       slightly and re-saving the image again.
  2848.  
  2849.       Most of your animation sequences will require at least three draw-
  2850.       ings or moves, perhaps even more to achieve the correct results.
  2851.  
  2852.       To better understand how to use Adam to produce your animation you
  2853.       should think of the process using the following steps as a guide.
  2854.  
  2855.       1. Your going to draw a picture that you want to animate inside of
  2856.          a TEXT object.
  2857.  
  2858.       2. Take a picture of the object using the F1 camera key.  Remember
  2859.          that only the graphics inside the window are saved in a picture
  2860.          frame, not the window boarder.
  2861.  
  2862.       3. Next you will go back into TEXT mode,  move or change the image
  2863.          and take another picture.
  2864.  
  2865.       4. After you have completed all the frames in your animation,  you
  2866.          can use the VIEW command to see how your animated picture looks
  2867.          as it actually runs. Press any key to stop the animation and to
  2868.          return to the menu.
  2869.  
  2870.       5. Now use the SAVE command to save the animation sequences to the
  2871.          disk as a program. You can also save your original image of the
  2872.          graphics using the regular CODE command from Adams main menu.
  2873.  
  2874.       Think of the F1 key and ENTER key as the shutter release button on
  2875.       a camera. The camera in Adam is very similar to a real camera. You
  2876.       can TAKE a picture, LOAD a new roll of film and SAVE or develop it
  2877.       when ever you want.
  2878.  
  2879.       ╔════════════════════════════════════════════════════════════════╗
  2880.       ║ Take View Save Load Quit                                       ║
  2881.       ╚════════════════════════════════════════════════════════════════╝
  2882.  
  2883.       This is the camera menu you will see each time you press the  'F1'
  2884.       key while at Adams main menu. The cursor defaults to the 'TAKE' a
  2885.       picture command.
  2886.  
  2887.       The first time you take any pictures, Adam will calculate how many
  2888.       pictures you can take for the size of the window object you are in
  2889.       currently.
  2890.  
  2891.       How many pictures you can take with a roll of film, will vary with
  2892.       the object size. A one line frame capture will allow you about 200
  2893.       pictures per roll of film.   A full screen image only allows about
  2894.       eight pictures to a roll.
  2895.  
  2896.       Each time you select the LOAD film command,  Adam will check first
  2897.       to see if you have any pictures that are in the  camera which have
  2898.       not been developed. If there are any pictures that are used,  Adam
  2899.       will warn you first, before loading a new roll of film.
  2900.  
  2901.  
  2902.  
  2903.  
  2904.  
  2905.                                                                         ┌──────┐
  2906. ╔════════════════════════════════════════════════════════════════════╗ ╔═════╗ │
  2907. ║                                                          ANIMATION ║ ║  43 ║ │
  2908. ╚════════════════════════════════════════════════════════════════════╝ ╚═════╝─┘
  2909.  
  2910.       When you save the pictures,  Adam creates an animation file with a
  2911.       .PRG extension.  This file can now be called from inside your Adam
  2912.       program using the following syntax.
  2913.  
  2914.       Lets say for example that you have created a title screen for your
  2915.       program and this screen will call our animation file, after it has
  2916.       displayed our title.   We use the following command entered in the
  2917.       QUIT position when we save our title screen.
  2918.  
  2919.       ACT_1 WITH 0,13
  2920.  
  2921.       The command entered above assumes that we saved our animation file
  2922.       with the name 'ACT_1'.
  2923.  
  2924.       Adam provides the 'DO' part of the command automatically. The next
  2925.       parameters tell the animation program to keep running until 'ENTER
  2926.       is pressed.
  2927.  
  2928.       The first parameter controls a timer for the animation. A value of
  2929.       5 will keep the animation sequence running for about one second or
  2930.       a value of 50 for about 10 seconds of animation.
  2931.  
  2932.       You can use both the timer and keystroke at the same time. This is
  2933.       the same as saying, run for 10 seconds or until the 'ENTER' key is
  2934.       pressed, which ever comes first.
  2935.  
  2936.       The keystroke values are the same as the normal INKEY() values for
  2937.       the keyboard.    Below is an example of an animation sequence that
  2938.       will display a marque type effect.
  2939.  
  2940.       ╔═══════════════════════════════════════════════════════════════╗
  2941.       ║*  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  ║
  2942.       ╚═══════════════════════════════════════════════════════════════╝
  2943.  
  2944.       ╔═══════════════════════════════════════════════════════════════╗
  2945.       ║ *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  * ║
  2946.       ╚═══════════════════════════════════════════════════════════════╝
  2947.  
  2948.       ╔═══════════════════════════════════════════════════════════════╗
  2949.       ║  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *║
  2950.       ╚═══════════════════════════════════════════════════════════════╝
  2951.  
  2952.       This type of animation requires only three pictures to create just
  2953.       the effect we want.
  2954.  
  2955.       Animation and special effects are really beyond the  scope of this
  2956.       manual. There are many good books available on the subject of ani-
  2957.       mation and computer graphics. At first glance it appears that with
  2958.       the graphics characters in the IBM computer, it would be very hard
  2959.       to create any type of animation. But it just takes a little bit of
  2960.       imagination and you'll be an expert in no time!
  2961.  
  2962.  
  2963.  
  2964.  
  2965.  
  2966.  
  2967.  
  2968.  
  2969.  
  2970.  
  2971.  ┌──────┐
  2972. ╔═════╗ │╔═════════════════════════════════════════════════════════════════════╗
  2973. ║ 44  ║ │║ IMPORTING OBJECTS                                                   ║
  2974. ╚═════╝─┘╚═════════════════════════════════════════════════════════════════════╝
  2975.  
  2976.       The ability to import objects from another program is one of Adams
  2977.       most powerful features.  This makes it possible to spend more time
  2978.       on designing your original objects,  knowing that you will be able
  2979.       to re-use the object in more than one program.
  2980.  
  2981.       For example, lets say you have created this fantastic title screen
  2982.       with your company logo, sound and animation. Now by importing this
  2983.       object you can use it in as many programs as you want to.
  2984.  
  2985.       The basic principle behind importing objects is simple.  While you
  2986.       are working in the current Adam data driver file, you can press 'U
  2987.       for the UTILity menu and then 'W' for WINDOW OBJECT IMPORT.
  2988.  
  2989.       Adam temporarily suspends the operation in the original file,  and
  2990.       lets you select another data file to open, displays the objects in
  2991.       the new file and lets you grab an existing object.
  2992.  
  2993.       After you have selected an object,   Adam closes the data file and
  2994.       re-opens the original file, appending the new object to the end of
  2995.       the current driver file.
  2996.  
  2997.       Now you can size the object, change colors or use it the way it is
  2998.       in your new program.   After needing to use this feature just once
  2999.       you will wonder how we got along without it in version 2.0.
  3000.  
  3001.       Objects can even be imported from the current object  that you are
  3002.       in. This provides a method to duplicate objects if needed.
  3003.  
  3004.       When importing objects,  the object retains all the attributes and
  3005.       name of the original object.
  3006.  
  3007.       The ability to import objects opens up all kinds of new ideas with
  3008.       Adam. For example: Picture library's, animation library's and even
  3009.       a file containing pre-designed objects and menus.
  3010.  
  3011.       One of the best features of working with Adam is the freedom to do
  3012.       whatever you're imagination desires. There is an Adam developer in
  3013.       San Antonio, TX.   who uses Adam just to create prototypes to show
  3014.       his customers, before he actually starts the job.   He claims that
  3015.       Adam is the fastest demo system that exists.
  3016.  
  3017.       Another user in Scottsdale, assembles turbo basic programs from an
  3018.       object library that contains all the basic routines for his appli-
  3019.       cations.
  3020.  
  3021.       Once you understand the basic concept behind Adam,   the output is
  3022.       only limited by your imagination. Adam lets you decide how you are
  3023.       going to use it, as just a screen design tool, a demo system or as
  3024.       a complete program development system.  You'll be hard pressed to
  3025.       find a system that is faster or easier to use...
  3026.  
  3027.       Just remember that the objects you design with Adam are like parts
  3028.       that when combined or clued together in Adam,  become a completely
  3029.       new and larger object containing smaller objects for its parts.
  3030.  
  3031.       Think of Adam as a set of blocks for building a log cabin, only in
  3032.       Adam you can design the shape of the blocks,  thereby changing the
  3033.       log cabin into a high rise building!
  3034.  
  3035.  
  3036.  
  3037.                                                                         ┌──────┐
  3038. ╔════════════════════════════════════════════════════════════════════╗ ╔═════╗ │
  3039. ║                                                       FONT LIBRARY ║ ║  45 ║ │
  3040. ╚════════════════════════════════════════════════════════════════════╝ ╚═════╝─┘
  3041.  
  3042.       Adam contains a special file called 'ADAMFONT.FNT' which is just a
  3043.       normal ASCII file. This file contains the different fonts that are
  3044.       available in Adam.
  3045.  
  3046.       The fonts can be accessed by pressing the F10  function key inside
  3047.       the TEXT mode.   Below is an example of the fonts that are already
  3048.       available when you first receive Adam.
  3049.  
  3050.  
  3051.       SAMPLE 3x3
  3052.       ┌─┐ ┌─┐ ┌─┐ ┬─┐ ┌── ┌── ┌─┐
  3053.       ├─┤ ├─┤ │   │ │ ├─  ├─  │─┐
  3054.       ┴ ┴ └─┘ └─┘ ┴─┘ └── ┴   └─┘
  3055.       BOLD 3x4
  3056.       ▄▄▄▄ ▄▄▄▄ ▄▄▄▄ ▄▄▄_ ▄▄▄▄ ▄▄▄▄ ▄▄▄▄
  3057.       █▄▄█ █▄▄█ █    █  █ █▄▄  █▄▄  █ ▄▄
  3058.       █  █ █▄▄█ █▄▄▄ █▄▄█ █▄▄▄ █    █▄▄█
  3059.  
  3060.       SHADOW 4x4
  3061.       ____ ____ ____ ___  ____ ____ ____
  3062.       █│ █ █│ █ █│   █│ █ █│   █│   █│
  3063.       █├─█ █├─█ █│   █│ █ █├─  █├─  █│─▄
  3064.       █│ █ █│_█ █│__ █│_█ █│__ █│   █│_█
  3065.  
  3066.       JUMBO 5x6
  3067.  
  3068.       ██████ ██████ ██████ █████  ██████ ██████ ██████
  3069.       ██  ██ ██  ██ ██     ██  ██ ██     ██     ██
  3070.       ██████ ██████ ██     ██  ██ ██████ ██████ ██ ███
  3071.       ██  ██ ██  ██ ██     ██  ██ ██     ██     ██  ██
  3072.       ██  ██ ██████ ██████ ██████ ██████ ██     ██████
  3073.  
  3074.  
  3075.       The format used is the name of the font followed by the height and
  3076.       width of the font.   On the next line after the font name is where
  3077.       you actually layout your font design.
  3078.  
  3079.       Font size can be as large as a 9x9 letter.  The ability of Adam to
  3080.       read the font is limited to the 26 upper case letters only. But if
  3081.       you have to have both upper and lower case letters, you could make
  3082.       one line of upper case letters and one line of lower case letters.
  3083.  
  3084.       Both these lines could be related to the same font design. This is
  3085.       one way to accomplish upper and lower case font styles.
  3086.  
  3087.       Pressing the F10 key while in the TEXT mode will activate the font
  3088.       library. Press the space bar to view the font styles,  and 'ENTER'
  3089.       key to select a font.
  3090.  
  3091.       Once you have selected a font style, you will be prompted to enter
  3092.       the text or message. When done press the enter key and the message
  3093.       will be inserted into the TEXT window at the current cursor row.
  3094.  
  3095.       Use the INSert key to position the letters inside the window.  You
  3096.       can also press the ESC key while in the size mode to center text.
  3097.  
  3098.  
  3099.  
  3100.  
  3101.  
  3102.  
  3103.  ┌──────┐
  3104. ╔═════╗ │╔═════════════════════════════════════════════════════════════════════╗
  3105. ║ 46  ║ │║ HOW TO CREATE OBJECTS                                               ║
  3106. ╚═════╝─┘╚═════════════════════════════════════════════════════════════════════╝
  3107.  
  3108.       The Adam object library comes with a set of predefined objects you
  3109.       can use immediately. Adam also contains two built-in SMART OBJECTS
  3110.       that allow you to create browse, lookup, picklists and another one
  3111.       that builds the custom edit window and gets procedures.
  3112.  
  3113.       Most of these objects are used for everyday database handling type
  3114.       of chores.  One that deserves special attention is the file called
  3115.       'CARDEX.OBJ' which allows you to include a cardfile with your app-
  3116.       lications.
  3117.  
  3118.       What makes the 'CARDEX' object unusual is that it was created with
  3119.       Adam.  This capability to create new objects is what makes Adam so
  3120.       different from most systems that are using the so called latest in
  3121.       template technologies.
  3122.  
  3123.       This ability to take small library objects and combine them to be-
  3124.       come larger objects or even complete stand alone programs will re-
  3125.       invent software as we think of it today.
  3126.  
  3127.       The way to create your own objects is by taking advantage of these
  3128.       concepts in Adam.  In creating the 'CARDEX' object we wanted it to
  3129.       have the appearance of a real card file, and yet keep it as simple
  3130.       and easy to use as possible.
  3131.  
  3132.       Below is a list of the steps used to create 'CARDEX.OBJ':
  3133.  
  3134.       1. Create database with fields   NAME, ADDRESS, CITY, ST, ZIP  and
  3135.          PHONE.
  3136.  
  3137.       2. Index the CARDEX database on field NAME to CARDEX.NTX
  3138.  
  3139.       3. Create the title screen using the 'F7' , 'F8' keys to duplicate
  3140.          the text background.
  3141.  
  3142.       4. Create a menu containing EDIT, VIEW, PACK and QUIT options.
  3143.  
  3144.       5. Design a custom edit window for adding and editing records.
  3145.  
  3146.       6. Create a lookup window to view the records quickly with the key
  3147.          index set to NAME, and the first field calling the EDIT window.
  3148.  
  3149.       7. Attach the PACKFILE object to the PACK menu option.
  3150.  
  3151.       8. Type EXIT in the QUIT menu option.
  3152.  
  3153.       9. Press 'Q' to exit Adam and generate the program.
  3154.  
  3155.       The only part that was modified by hand was to insert the  follow-
  3156.       ing call to an Adam library procedure to create the database file,
  3157.       if it does not exist.
  3158.  
  3159.       IF !FILE("CARDEX.DBF")
  3160.          DO MAKEDBF WITH "CARDEX","NAME","CARDEX"
  3161.       ENDIF
  3162.  
  3163.       This is the way we take small objects, and combine them in Adam to
  3164.       create a completely new object,  that combined with other existing
  3165.       objects will become our completely new program or utility.
  3166.  
  3167.  
  3168.  
  3169.                                                                         ┌──────┐
  3170. ╔════════════════════════════════════════════════════════════════════╗ ╔═════╗ │
  3171. ║                                                       OBJECT FILES ║ ║  47 ║ │
  3172. ╚════════════════════════════════════════════════════════════════════╝ ╚═════╝─┘
  3173.  
  3174.  
  3175.       Adam includes the following object files that are designed to fill
  3176.       most of the requirements needed for maintaining a database.
  3177.  
  3178.  
  3179.       ADAMLIBA OBJ    13896  11-25-89  12:39p
  3180.       ADAMLIBB OBJ    13555  12-22-89   1:39p
  3181.       BACKUP   OBJ     1017  11-25-89  12:36p
  3182.       CARDEX   OBJ     6432  11-27-89   9:13a
  3183.       DCODE    OBJ     5572  11-25-89  12:39p
  3184.       LABELS   OBJ     2661  11-25-89  12:37p
  3185.       LETTERS  OBJ     7366  11-25-89  12:39p
  3186.       MULTUSER OBJ     4524  11-25-89   1:12p
  3187.       PACKFILE OBJ     1050  11-25-89  12:38p
  3188.       POPCAL   OBJ     6925  11-25-89   1:11p
  3189.       PRINTER  OBJ     3052  11-25-89   1:07p
  3190.       REPOFORM OBJ     2935  11-25-89  12:40p
  3191.       REPORT   OBJ     2724  11-25-89  12:38p
  3192.       TABLE    OBJ     8150  11-25-89  12:38p
  3193.       USERHELP OBJ     3506  11-27-89   8:58a
  3194.  
  3195.  
  3196.       While generating your programs,  Adam will automatically use these
  3197.       three library objects.
  3198.  
  3199.       ADAMLIBA.OBJ
  3200.       ADAMLIBB.OBJ
  3201.       MULTUSER.OBJ
  3202.  
  3203.       Adam will also automatically use any library objects starting with
  3204.       ADAMLIB*.OBJ.  This gives you the ability to add new library files
  3205.       as you need them.
  3206.  
  3207.       Adam will always use any library objects that have been flagged in
  3208.       Adams procedure library with a '√' symbol.  The only difference is
  3209.       that when Adam finds a file starting with  'ADAMLIB'  it will flag
  3210.       these files automatically when you first run the Adam program.
  3211.  
  3212.       One of the features designed in Adam is that these library objects
  3213.       do not have to be documented as far as how they are called, or how
  3214.       many parameters to pass to them.
  3215.  
  3216.       About the only information you will need in order to use them,  is
  3217.       what each file can be used for.  Most of the time you will be able
  3218.       to determine this just by the files name. The following pages list
  3219.       all the library object files,  what procedures or functions are in
  3220.       each file, and what each procedure or function is used for.
  3221.  
  3222.  
  3223.  
  3224.  
  3225.  
  3226.  
  3227.  
  3228.  
  3229.  
  3230.  
  3231.  
  3232.  
  3233.  
  3234.  
  3235.  ┌──────┐
  3236. ╔═════╗ │╔═════════════════════════════════════════════════════════════════════╗
  3237. ║ 48  ║ │║ OBJECT FILES                                                        ║
  3238. ╚═════╝─┘╚═════════════════════════════════════════════════════════════════════╝
  3239.  
  3240.  
  3241.       ADAMLIBA.OBJ
  3242.       ____________
  3243.  
  3244.          WINDOW      This procedure controls all of the different  types
  3245.                      of windows Adam can display. It can be called using
  3246.                      the following syntax:
  3247.  
  3248.                      DO window WITH rt,ct,rb,cb,'color',type,snd
  3249.  
  3250.          ZOOM()      This function provides a zoom type window.  Call it
  3251.                      with the following code.  Object file to zoom into,
  3252.                      starting coordinates, ending window coordinates.
  3253.  
  3254.                      ZOOM( 'obj',rt,ct,rb,cb,t,l,b,r )
  3255.  
  3256.          ZOOMIT()    Function used by ZOOM()
  3257.          BROWTEST()  Handles all browse, lookup and picklist keystrokes.
  3258.          GETANS()    Returns the memory variable TRIM(ans).  Can be used
  3259.                      with the following code:
  3260.  
  3261.                      GETANS( 'message','default','valid' )
  3262.  
  3263.          MEDIT()     Used for memoedit in TABLE VIEW.
  3264.          PCHECK()    Test for printer ready prompt user to retry or quit
  3265.                      used by REPORT.OBJ and LABELS.OBJ.
  3266.  
  3267.                      IF !PCHECK()
  3268.                         RETURN
  3269.                      ENDIF
  3270.  
  3271.          CENTER()    Center messages.
  3272.  
  3273.                      @ 0,0 SAY CENTER( 'message' )
  3274.  
  3275.          FCONTENT()  Sort array. Used by LETTERS.OBJ and USERHELP.OBJ.
  3276.  
  3277.                      FCONTENT( 'array' )
  3278.  
  3279.          READIT()    Used in place of the following code:
  3280.  
  3281.                      SET CURSOR ON
  3282.                      READ
  3283.                      SET CURSOR OFF
  3284.  
  3285.          DOS         Provides a DOS shell.
  3286.          TODAY()     Returns DATE() as MONTH,DAY,YEAR.
  3287.  
  3288.                      @ 0,0 SAY TODAY( date() )
  3289.  
  3290.          GETDBF()    Creates a popup menu for file selections,   returns
  3291.                      selection in variable 'dbf'.
  3292.  
  3293.                      GETDBF( 'filemask','message' )
  3294.  
  3295.          SETUP       Default clipper enviroment settings.
  3296.          EDITMENU()  Default menu for custom EDIT windows.
  3297.  
  3298.  
  3299.  
  3300.  
  3301.                                                                         ┌──────┐
  3302. ╔════════════════════════════════════════════════════════════════════╗ ╔═════╗ │
  3303. ║                                                       OBJECT FILES ║ ║  49 ║ │
  3304. ╚════════════════════════════════════════════════════════════════════╝ ╚═════╝─┘
  3305.  
  3306.       ADAMLIBB.OBJ
  3307.       ____________
  3308.  
  3309.          FILTER      Controls filter condition database,   used to store
  3310.                      users filters.
  3311.  
  3312.          GETEXPR     Used by FILTER procedure.
  3313.          GETPHRA     Used by FILTER procedure.
  3314.          GOTOREC     Used by FILTER procedure.
  3315.  
  3316.          OPENFILE()  Opens a database in the next available workarea for
  3317.                      single or multiuser mode.
  3318.  
  3319.                      OPENFILE( 'filename' )
  3320.  
  3321.          MAKEDBF     Create a database structure. See example in LETTERS
  3322.                      .OBJ program.
  3323.  
  3324.          DBMENU()    Popup menu function returns file selection in 'dbf'
  3325.  
  3326.                      DBMENU( rt,ct,rb,'color','mask' )
  3327.  
  3328.          FILEOK()    Checks if file exists and prompts user to overwrite
  3329.                      if desired.
  3330.  
  3331.          DELAY()     Time delay function used by animation code. A count
  3332.                      of 5 is about one second on a 8mhz AT.
  3333.  
  3334.                      DELAY( 50 )
  3335.  
  3336.          MOVE()      Scroll text message at selected screen location.
  3337.                      The WINDOW WIDTH is the area to contain the message
  3338.                      inside of.
  3339.  
  3340.                      MOVE( 'message',row,col,window width )
  3341.  
  3342.          PLAYIT()    Plays music in Adam format created with MUSIC MAN.
  3343.          WAITFOR()   Waits for a keypress.
  3344.  
  3345.                      WAITFOR( 27 )          && wait for ESC keypress.
  3346.  
  3347.  
  3348.       BACKUP  .OBJ   Provides user assisted file backup utility.
  3349.       CARDEX  .OBJ   Index file database for name and address.
  3350.       DCODE   .OBJ   Prints bar code listings for code39.
  3351.       LABELS  .OBJ   Prints customer mailing labels.
  3352.       LETTERS .OBJ   Mini word processor with mailmerge.
  3353.       MULTUSER.OBJ   Contains all of Adams multiuser functions.
  3354.       PACKFILE.OBJ   Removes deleted records and re-indexes file.
  3355.       POPCAL  .OBJ   Provides a pop-up calendar.
  3356.       PRINTER .OBJ   Printer configuration utility.
  3357.       REPOFORM.OBJ   Allows end user to select field list for reports.
  3358.       REPORT  .OBJ   Pre-designed report utility.
  3359.       TABLE   .OBJ   Provides automatic browse and edit window for file
  3360.                      maintenance.
  3361.       USERHELP.OBJ   Works similar to 'LETTERS.OBJ' but provides program
  3362.                      documentation system.
  3363.  
  3364.  
  3365.  
  3366.  
  3367.  ┌──────┐
  3368. ╔═════╗ │╔═════════════════════════════════════════════════════════════════════╗
  3369. ║ 50  ║ │║ A BRIEF HISTORY                                                     ║
  3370. ╚═════╝─┘╚═════════════════════════════════════════════════════════════════════╝
  3371.  
  3372.       The following information is provided to give you a look into how,
  3373.       and why Adam was created. It's been over two years since the first
  3374.       concept of Adam began.
  3375.  
  3376.       I was working with a template system called VIEWGEN,  developed by
  3377.       a friend of mine, Luis Castro.   At the time I was deeply involved
  3378.       with creating and modifying templates for this system.
  3379.  
  3380.       Over the course of the next two years,  an idea crept into my mind
  3381.       about a new kind of software.   I envisioned a program development
  3382.       system that had a built in intelligence.
  3383.  
  3384.       I kept thinking about a program or procedure that could reshape it
  3385.       self sort of a muli-purpose object that could become a totally new
  3386.       object based on certain conditions or information that we gave it.
  3387.  
  3388.       That's when the term SMART OBJECTS, first entered into the picture
  3389.       and totally started to consume my thoughts. What I was looking for
  3390.       was an object that could communicate  with the  developer  and the
  3391.       development system. Kind of like passing question and answers back
  3392.       and forth between the two.
  3393.  
  3394.       At this time I did not have any idea about how all this would ever
  3395.       work,  I just knew there had to be a better way of creating custom
  3396.       designed programs.   Not just a database program,  but any kind of
  3397.       program or utility.
  3398.  
  3399.       Meanwhile I kept working on templates and custom programming jobs,
  3400.       but I also started writing all kinds of small routines.  One was a
  3401.       menu generator, and another was a screen design tool, etc. etc...
  3402.  
  3403.       I had no immediate use for these small utilities,  so I just filed
  3404.       them away. This went on for about the first year and then all of a
  3405.       sudden it dawned on me...  Why not take regular procedures and use
  3406.       the seldom used 'NOTE' command in Clipper which stands for comment
  3407.       and use this as a way to pass information from the procedure, to a
  3408.       developer.  Besides almost everyone uses an asterisk '*' for their
  3409.       program comments anyway.
  3410.  
  3411.       The name for Adam came almost at the same time.   I though of what
  3412.       I was trying to accomplish and came up with  'ADVANCED DATA ACCESS
  3413.       MANAGER' or ADAM for short.
  3414.  
  3415.       We'll by the time I had the name for the program I already had one
  3416.       year of tried and tested routines that I needed to make Adam work!
  3417.  
  3418.       The only strange thing about all this was that I found myself with
  3419.       programming utilities that only a program  development system like
  3420.       Adam could use which means I wrote specific routines for a program
  3421.       that did not even exist at the time.
  3422.  
  3423.       I hope you find Adam as interesting and profitable as I do.
  3424.  
  3425.       Sincerely,
  3426.  
  3427.  
  3428.  
  3429.       Tom Dempsey
  3430.  
  3431.  
  3432.